Mit iSync kann man unter anderem Mobiltelefone, die über eine Bluetoothschnittstelle verfügen und von der Software unterstützt werden synchronisieren, d. h. dass die Adressen, Telefonnummern und Kalendereinträge mit iCal bzw. dem Adressbuch abgeglichen werden.

Normalerweise erfordert dies, dass der User das iSync Programm aufruft und diesen Vorgang manuell anstößt. Mit AppleScript und dem LaunchDaemon lässt sich dieser Vorgang automatisieren. Folgendes AppleScript startet die Anwendung iSync, führt die Synchronisierung durch, schreibt einen Eintrag in ein Logfile, der Auskunft über erfolgreiches bzw. nicht erfolgreiches Synchronisieren gibt und beendet iSync anschließend.

 tell application "iSync"
	synchronize
	repeat while (syncing is true)
		delay 5
	end repeat
	set syncStatus to sync status
	if syncStatus = 2 then
		set syncStatus to "completed successfully"
	else if syncStatus = 3 then
		set syncStatus to "completed with warnings"
	else if syncStatus = 4 then
		set syncStatus to "completed with errors"
	else if syncStatus = 5 then
		set syncStatus to "last sync cancelled"
	else if syncStatus = 6 then
		set syncStatus to "last sync failed to complete"
	else if syncStatus = 7 then
		set syncStatus to "never synced"
	end if
	set theDate to (current date) as string
	set logfile to (open for access file "Users:username:log:isync.log" with write permission)
	try
		write (theDate & " Sync status: " & syncStatus & {ASCII character 10}) to logfile starting at eof
		close access logfile
	on error
		close access logfile
	end try
	quit
end tell

Damit dieses AppleScript nun regelmäßig ausgeführt wird, d. h. der Benutzer sich nicht mehr darum kümmern muss, ist ein plist file im der Library des Benutzers anzulegen, dass den Launchdaemon (Apples Ersatz für cron) veranlasst das Script auszuführen. Der Ablageort des files ist ~/Library/LaunchAgents/. Das plist file sieht folgendermaßen aus, wobei username den Kurznamen des Benutzers und 3600 das Startintervall in Sekunden, also stündlich in diesem Fall, angibt:

 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>local.username.bluetoothisync</string>
        <key>OnDemand</key>
        <true/>
        <key>ProgramArguments</key>
        <array>
                <string>osascript</string>
                <string>/Users/username/apple_script/iSync synchronize.scpt</string>
        </array>
        <key>StartInterval</key>
        <integer>3600</integer>
</dict>
</plist>

ImgPopUpFct('Attach:plist_bluetooth_sync.png Δ','plist_bluetooth_sync.png')


FooterBadgetsFct('Diskussion') FooterBadgetsFct('Rezension')

Zuletzt geändert am 01.07.2007 00:40 Uhr von Dave (1 Besuche)

© 2004 – 2018 ApfelWiki

Impressum - Datenschutz

cb