Posts Tagged ‘iPhone’

Sonntag, 19. März 2017

OpenVPN mit iPhone, iPad und MacBook Air — aber nicht mit Travel Router TP-LINK TL-MR3020

Auf Grund der bald bevorstehenden Reise in die USA habe ich mir heute Zeit genommen, einen VPN-Server einzurichten, mit welchem ich mich unterwegs in den USA mit iPhone, iPad und MacBook Air verbinden kann.

Obwohl heutzutage die meisten Web-Sites mit HTTPS kommunizieren, stelle ich damit sicher, dass allfällige unverschlüsselte Kommunikation im Hotel-WiFi nicht abgehört werden kann. Als netten Nebeneffekt gaukle ich meinen Geräten weiter vor, dass sie sich in der Schweiz befinden und umgehe so allfällige Geoblocks. Da wir seit einem Jahr eine Glasfaster-Internet-Anbindung mit 1 GBit/s symmetrischem Datenverkehr verfügen, sollte die Performance höchstens noch von der hohen Latenz getrübt werden.

Ich hatte bisher bereits eine Lösung im Einsatz (im Grunde zwei, PPTP sowie OpenVPN mit einem Shared Key), doch nun war es an der Zeit, das Gefrickel aufzuräumen und eine zukunftstaugliche, performante und sichere Lösung zu bauen, welche (fast) nativ mit macOS und iOS funktioniert — konkret mit Tunnelblick unter macOS sowie mit OpenVPN.app unter iOS.

Die beiden Applikationen kann man mittels .ovpn-Textdateien als VPN-Clients konfigurieren.

Ich bin im Grossen und Ganzen der Anleitung „How To Set Up an OpenVPN Server on Ubuntu 16.04“ von DigitalOcean gefolgt, habe die Konfiguration dabei aber meiner Heimnetzwerk-Architektur angepasst und mittels Bash-Scripts automatisiert. Denn irgendeinmal muss ich den OpenVPN-Server aktualisieren und bin mit dem DevOps-Ansatz sicher, mittels Knopfdruck wieder eine funktionierende Lösung bereit zu haben.

Die Anleitung zeigt einen netten Weg auf, wie man sich die .ovpn-Dateien vollautomatisierte mittels eines bash-Scripts erstellt.

Ich verwende nun für alle meine Geräte ein eigenständiges Zertifikat, damit ich diese im Notfall einzeln revozieren kann.

Die Konfiguration funktioniert tadellos — einzig bei Tunnelblick (d.h. unter macOS) musste ich die Passagen

...
user nobody
group nogroup
...

wieder auskommentieren, da es sonst zu komischen Fehlermeldungen im OpenVPN-Log des Clients kam. Ausserdem muss man im GUI anklicken, dass der gesamte IPv4-Verkehr durch das VPN geroutet wird:

image-7219

Wehrmutstropfen: Eigentlich war der Aufbau eines VPN-Tunnels pro Device nur als Plan B gedacht. Denn bei Reisen verwende ich einen TP-LINK TL-MR3020 „Reiserouter“ (klitzekleiner Wireless Access Point, der sich mit USB-Stromversorgung betreiben lässt), um diesen mit Hotel-WiFis zu verbinden und die SSID mit den Zugangsdaten meines Heimnetzwerkes anzubieten. So spare ich es mir, dass das Hotel-WiFi auf all meinen Geräten konfiguriert werden muss.

Auf dem Router habe ich mir das quelloffene OpenWrt (Version Attitude Adjustment) installiert und mittlerweile so konfiguriert, damit es mit allen möglichen WLAN-Netzwerken von Unterkünften funktioniert (einige Hersteller von Gästeportalen frickeln massiv mit dem Netzwerk herum, um Clients auf die Landing Pages zu bringen).

Plan A war es nun eigentlich, OpenVPN auf dem Router selbst zu installieren und jedes Mal automatisch eine Verbindung mit meinem OpenVPN-Server in der Schweiz herzustellen, sobald der Router eine Internet-Verbindung herstellen kann. So hätte ich nicht pro Endgerät einzeln eine VPN-Verbindung aufbauen müssen und die Verschlüsselung wäre ohne weitere Interaktion standardmässig aktiviert gewesen.

Eine Anleitung zur Installation von OpenVPN als VPN-Client auf einem TP-LINK TL-MR3020 findet sich dazu im Netz (plus eine generische Anleitung für OpenWRT), doch leider habe ich erst während der Installation bemerkt, dass der Router nicht genügend Speicherplatz mit sich bringt, um die Pakete openvpn, openssl und andere Libraries zu installieren:

image-7220

Da opkg nicht komplett durchgelaufen ist, musste ich die über das Router-Filesystem verstreute Überreste der Pakete eigenhändig entfernen (indem ich die .ipks vom offiziellen Repository händisch herunterlud, mit gzip entpackte und die resultierenden Dateien dann erneut mit tar und gzip entpackte):

.
./kmod-tun_3.3.8-1_ar71xx
./kmod-tun_3.3.8-1_ar71xx/etc
./kmod-tun_3.3.8-1_ar71xx/etc/modules.d
./kmod-tun_3.3.8-1_ar71xx/etc/modules.d/30-tun
./kmod-tun_3.3.8-1_ar71xx/lib
./kmod-tun_3.3.8-1_ar71xx/lib/modules
./kmod-tun_3.3.8-1_ar71xx/lib/modules/3.3.8
./kmod-tun_3.3.8-1_ar71xx/lib/modules/3.3.8/tun.ko
./kmod-tun_3.3.8-1_ar71xx/postinst
./liblzo_2.06-1_ar71xx
./liblzo_2.06-1_ar71xx/usr
./liblzo_2.06-1_ar71xx/usr/lib
./liblzo_2.06-1_ar71xx/usr/lib/liblzo2.so
./liblzo_2.06-1_ar71xx/usr/lib/liblzo2.so.2
./liblzo_2.06-1_ar71xx/usr/lib/liblzo2.so.2.0.0
./libopenssl_1.0.1h-1_ar71xx
./libopenssl_1.0.1h-1_ar71xx/usr
./libopenssl_1.0.1h-1_ar71xx/usr/lib
./libopenssl_1.0.1h-1_ar71xx/usr/lib/libcrypto.so.1.0.0
./libopenssl_1.0.1h-1_ar71xx/usr/lib/libssl.so.1.0.0
./openvpn_2.2.2-2_ar71xx
./openvpn_2.2.2-2_ar71xx/conffiles
./openvpn_2.2.2-2_ar71xx/etc
./openvpn_2.2.2-2_ar71xx/etc/config
./openvpn_2.2.2-2_ar71xx/etc/config/openvpn
./openvpn_2.2.2-2_ar71xx/etc/init.d
./openvpn_2.2.2-2_ar71xx/etc/init.d/openvpn
./openvpn_2.2.2-2_ar71xx/etc/openvpn
./openvpn_2.2.2-2_ar71xx/lib
./openvpn_2.2.2-2_ar71xx/lib/upgrade
./openvpn_2.2.2-2_ar71xx/lib/upgrade/keep.d
./openvpn_2.2.2-2_ar71xx/lib/upgrade/keep.d/openvpn
./openvpn_2.2.2-2_ar71xx/usr
./openvpn_2.2.2-2_ar71xx/usr/sbin
./openvpn_2.2.2-2_ar71xx/usr/sbin/openvpn
./zlib_1.2.7-1_ar71xx
./zlib_1.2.7-1_ar71xx/usr
./zlib_1.2.7-1_ar71xx/usr/lib
./zlib_1.2.7-1_ar71xx/usr/lib/libz.so
./zlib_1.2.7-1_ar71xx/usr/lib/libz.so.1
./zlib_1.2.7-1_ar71xx/usr/lib/libz.so.1.2.7

So konnte ich die Überreste schlussendlich entfernen (der Router bootete nach der Bereinigungsaktion tatsächlich noch) und der Router hat nun wieder 800 KB Speicher frei … wie zu DOS-Zeiten!

Tags: , , , , , , , , , ,
Labels: IT

1 Kommentar | neuen Kommentar verfassen

Mittwoch, 28. September 2016

WhatsApp kann nicht auf iCloud backupen

Nachdem ich meinen Mac mini endlich auf OS X 10.11 El Capitan gelüpft hatte, konnte ich endlich auch iCloud Drive über all meine Geräte (Mac mini, MacBook Air, iPhone SE, iPad Air 2, iPad 4) aktivieren.

Leider aber bockt WhatsApp auf meinem iPhone SE und will partout nicht nach iCloud backupen:

whatsapp-iphone-se-ios-10-backing-up
image-6949

Uploading: 0 bytes of 456.0 MB (0%)

Und genau in diesem Zustand verweilt die Anzeige, minuten- und stundenlang, ohne dass ein einziges Byte in die iCloud hochgeladen wird.

Gestern und heute habe ich ein, zwei Stunden investiert, um dem Problem auf den Grund zu gehen. Leider habe ich die Lösung (noch?) nicht gefunden.

Ein Blick auf dem iPhone SE unter Settings > iCloud > iCloud Drive zeigt, dass iCloud aktiviert ist, WhatsApp der Zugriff auf iCloud erlaubt ist und das iPhone auch über das Mobilfunknetz mit iCloud kommunizieren darf:

iphone-se-icloud-drive-top
image-6950

iphone-se-icloud-drive-bottom
image-6951

Soweit so gut. Spannend wird es, wenn ich den iCloud Speicherverbrauch genauer anschaue. Hierzu gehe ich zu Settings > iCloud > Storage > Manage Storage, wo ich unter der Rubrik „DOCUMENTS & DATA“ den Eintrag

WhatsApp Messen… 2.1MB

entdecke:

iphone-se-icloud-manage-storage
image-6952

Gestern reagierte das iPhone nicht, als ich diesen Eintrag antippte.

Versuch unter iCloud Web

Als nächste loggte ich mich auf die Web-Oberfläche von iCloud ein und versuchte es dort mit einer Bereinigung. Unter Einstellungen fand ich folgendes Dialogfeld:

Apple iCloud Web Reset Documents and Data
image-6953

Leider klappte das auch nicht:

Apple iCloud Web Could not reset Documents and Data
image-6954

Versuch unter macOS

Man kann übrigens auch versuchen, das WhatsApp-Backup unter OS X zu entfernen — doch gestern schlug auch das fehl:

os-x-icloud-manage-storage
image-6955

os-x-icloud-manage-storage-whatsapp
image-6956

os-x-icloud-manage-storage-whatsapp-delete-documents-and-data
image-6957

os-x-icloud-manage-storage-whatsapp-delete-documents-and-data-failed-try-again-later
image-6958

In der Console las ich die nichtssagende Fehlermeldung:

com-apple-preferences-icloud-remoteservice-js_log-error-deletedate-returned-error-code-500
image-6959

Erneuter Versuch auf dem iPhone

Doch heute gelange ich auf dem iPhone schnurstracks in die Detailansicht:

iphone-se-icloud-manage-storage-whatsapp
image-6960

Edit angetippt, dann erscheint die Möglichkeit, die Daten zu löschen:

iphone-se-icloud-manage-storage-whatsapp-edit
image-6961

iphone-se-icloud-manage-storage-whatsapp-delete-all
image-6962

Dies habe ich soeben getan, und tatsächlich, WhatsApp erscheint nun nicht mehr in der Liste. Immerhin ein Fortschritt zu gestern — wobei ich felsenfest überzeugt war, dass wenn einmal dieses veraltete Backup weg ist das Backup funktionieren wird. Falsch gedacht; WhatsApp hängt immer noch bei 0 Bytes.

Ein kompletter Neustart des Gerätes änderte schlussendlich alles! Als ich den Button Back Up Now anklickte, lud das iPhone nach ein paar Sekunden „Preparing“ Daten in irrer Geschwindigkeit nach iCloud:

whatsapp-chat-backup-preparing-28
image-6963

whatsapp-chat-backup-uploading-433-2-mb
image-6964

whatsapp-chat-backup-last-backup-today-at-19-53
image-6965

Seither kann ich endlich beruhigt sein, bei einem Verlust meines Telefons garantiert noch alle WhatsApp-Mitteilungen als Sicherung auf iCloud zu besitzen:

Die Lösung?

Leider für mich immer noch ein Mysterium. Doch was ich gestern gemacht habe: iCloud Drive auf all meinen Geräten ausgeschaltet, die Geräte heruntergefahren, neugestartet und erst dann wieder eingeschaltet.

Update 2016-11-17: Ich vermute mittlerweile, dass das iOS-Upgrade meines ehrwürdigen iPad 4 das Problem gelöst hat. Meine Hypothese: Da auf dem Gerät noch iOS 9 installiert war, verhinderte das Gerät so, dass meine iCloud upgegradet werden kann. Sobald das Gerät auf iOS 10 migriert war, konnte die von Apple durchgeführte, transparente Migration endlich losgetreten werden.

iCloud Drive-Zugang über iCloud.com

Während dem Debugging-Prozess ist mir aufgefallen, dass ich weder über meinen Mac mini, noch mein iPad Air 2 auf das (webbasierte) iCloud Drive unter iCloud.com zugreifen kann. Folgende Fehlermeldung erscheint:

icloud-com-icloud-drive-there-was-a-problem-loading-the-contents-of-this-folder
image-6966

There was a problem loading the content of this folder.

Der nette Herr von der Apple Support-Hotline konnte mir heute mit diesem Problem leider auch nicht weiterhelfen. Seine einzige Empfehlung: Cookies löschen und den Mac mini neu starten. Immerhin hat mich Apple angerufen und so den Anruf auf das Mobilfunknetz bezahlt.

Er beharrte zudem darauf, dass ich diesen Screen auf meinem iPad nicht anzeigen lassen könne — doch, kann ich, wenn ich in Safari lange auf dem Reload-Button verharre und dann „Request Desktop Site“ auswähle.

iCloud Drive-Ablage auf dem lokalen Mac

Im Laufe der Untersuchung kam ich zudem auf die Idee, den WhatsApp-Ordner auf iCloud über meinen Mac zu löschen. Das iCloud Drive wird auf meinem Mac mini unter OS X 10.11 in folgendem Verzeichnis gecached:

~/Library/Mobile Documents/

Mit dem Tool Plain Cloud erhält man eine Übersichtsliste in Form eines GUIs:

plain-cloud-whatsapp
image-6967

Dort habe ich dann auch WhatsApp wiedergefunden, welches im folgenden Pfad liegt (lag):

~/Library/Mobile Documents/57T9237FN3~net~whatsapp~WhatsApp

Der Inhalt gestern (vor rm -rf):

57t9237fn3netwhatsappwhatsapp
image-6968

Dieses Verzeichnis auf der Kommandozeile von Hand zu löschen brachte gestern leider nicht den gewünschten Erfolg.

brctl

Apple stellt mit brctl ein Kommandozeilentool zur Verfügung (Kommentar von Mendel Kucharzeck vom 11.07.16 um 22:08 Uhr), welches beim Debugging eventuell auch noch weiterhelfen könnte. Hier der Output für gestern:

$ brctl log
[note]    0.000 [2016-09-27 02:40:22.115] sqlite.clientTruth             sync-down.periodic-sync BRCPeriodicSyncOperation.m:137
        scheduled a useless periodic sync
[note]  28798.505 [2016-09-27 10:40:20.620] sqlite.clientTruth             sync-down.periodic-sync BRCPeriodicSyncOperation.m:137
        scheduled a useless periodic sync
[ERROR] 32416.649 [2016-09-27 11:40:38.764] cloudkit.operation.callback    sync.down            BRCSyncDownOperation.m:201
        fetch operation 57T9237FN3.net.whatsapp.WhatsApp error: <CKError 0x7ff7cd9f6220: "Server Rejected Request" (15/6000); server message = "Zone migration failed"; Retry after 43200.0 seconds; uuid = 1CFAE291-105A-4BA7-B0DA-663C5F5EA27F; conta
[note]  56254.108 [2016-09-27 18:17:56.223] brc.sync                       container.scheduler  BRCContainerScheduler.m:819
        received a push for container 57T9237FN3~net~whatsapp~WhatsApp
[note]  56254.412 [2016-09-27 18:17:56.527] brc.sync                       container.scheduler  BRCContainerScheduler.m:808
        received a push for the container-metadata zone
[note]  56261.563 [2016-09-27 18:18:03.677] brc.sync                       container.scheduler  BRCContainerScheduler.m:808
        received a push for the container-metadata zone
[WARN]  56318.506 [2016-09-27 18:19:00.621] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7cd6392c0; recordType=AppContainer, recordID=iCloud.com.microsoft.lync2013.iphone:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=3>
[WARN]  56318.506 [2016-09-27 18:19:00.621] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7cd68bb00; recordType=AppContainer, recordID=iCloud.com.kayak.travel:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=4>
[WARN]  56318.507 [2016-09-27 18:19:00.621] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7cd6caad0; recordType=AppContainer, recordID=iCloud.com.reddit.alienblue:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=5>
[WARN]  56318.507 [2016-09-27 18:19:00.622] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7cd631250; recordType=AppContainer, recordID=LWL9XTYF8Q.com.syniumsoftware.macfamilytree7:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=6>
[WARN]  56318.507 [2016-09-27 18:19:00.622] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7cd6392c0; recordType=AppContainer, recordID=iCloud.QW9YDLAY9G.com.hotels.HotelsNearMe:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=7>
[WARN]  56318.508 [2016-09-27 18:19:00.622] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7cd6caad0; recordType=AppContainer, recordID=ZKENARDFWN.com.ifolor.ifolor-designer:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=8>
[WARN]  56318.508 [2016-09-27 18:19:00.623] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7cd631250; recordType=AppContainer, recordID=iCloud.com.getdropbox.Dropbox:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=9>
[WARN]  56318.509 [2016-09-27 18:19:00.623] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7cd68b2e0; recordType=AppContainer, recordID=com.apple.mobilemail:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=a>
[WARN]  56318.509 [2016-09-27 18:19:00.623] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7cd6392c0; recordType=AppContainer, recordID=L996Q9B5UB.com.landi.weather:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=b>
[WARN]  56318.509 [2016-09-27 18:19:00.624] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7cd68b2e0; recordType=AppContainer, recordID=iCloud.com.apple.iBooks:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=c>
[WARN]  56318.509 [2016-09-27 18:19:00.624] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7cd68bb00; recordType=AppContainer, recordID=F6266T9T75.com.apple.iMovie:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=d>
[WARN]  56318.510 [2016-09-27 18:19:00.625] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7ca980b30; recordType=AppContainer, recordID=com.apple.Numbers:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=e>
[WARN]  56318.510 [2016-09-27 18:19:00.625] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7c860c6c0; recordType=AppContainer, recordID=com.apple.QuickTimePlayerX:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=f>
[WARN]  56318.511 [2016-09-27 18:19:00.625] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7c8610550; recordType=AppContainer, recordID=com.apple.Preview:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=g>
[WARN]  56318.511 [2016-09-27 18:19:00.626] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7cd906ac0; recordType=AppContainer, recordID=com.apple.Notes:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=h>
[WARN]  56318.511 [2016-09-27 18:19:00.626] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7c860c6c0; recordType=AppContainer, recordID=8YE23NZS57.com.kayak.travel:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=i>
[WARN]  56318.512 [2016-09-27 18:19:00.626] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7c8610550; recordType=AppContainer, recordID=com.apple.Pages:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=j>
[WARN]  56318.512 [2016-09-27 18:19:00.627] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7c860c6c0; recordType=AppContainer, recordID=iCloud.com.tinyspeck.chatlyio:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=k>
[WARN]  56318.512 [2016-09-27 18:19:00.627] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7c8610550; recordType=AppContainer, recordID=com.apple.mail:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=l>
[WARN]  56318.513 [2016-09-27 18:19:00.627] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7cd9e2800; recordType=AppContainer, recordID=com.apple.TextEdit:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=m>
[WARN]  56318.513 [2016-09-27 18:19:00.628] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7c8610550; recordType=AppContainer, recordID=57T9237FN3.net.whatsapp.WhatsApp:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=n>
[WARN]  56318.513 [2016-09-27 18:19:00.628] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7c860c6c0; recordType=AppContainer, recordID=37GSA6A9EQ.com.benkazez.FlightTrack:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=o>
[WARN]  56318.514 [2016-09-27 18:19:00.628] cloudkit.operation.callback    sync-down.container-metadata BRCContainerMetadataSyncDownOperation.m:44
        no data in record <CKRecord: 0x7ff7c8611e30; recordType=AppContainer, recordID=CZF32S63U5.com.phaidon.wallpaperParis:(com.apple.CloudDocs.container-metadata:__defaultOwner__), recordChangeTag=p>
[WARN]

Spannend ist insbesondere dieser Eintrag mit dem Fehler „Zone migration failed“:

[ERROR] 32416.649 [2016-09-27 11:40:38.764] cloudkit.operation.callback    sync.down            BRCSyncDownOperation.m:201
        fetch operation 57T9237FN3.net.whatsapp.WhatsApp error: <CKError 0x7ff7cd9f6220: "Server Rejected Request" (15/6000); server message = "Zone migration failed"; Retry after 43200.0 seconds; uuid = 1CFAE291-105A-4BA7-B0DA-663C5F5EA27F; conta
[note]  56254.108 [2016-09-27 18:17:56.223] brc.sync                       container.scheduler  BRCContainerScheduler.m:819
        received a push for container 57T9237FN3~net~whatsapp~WhatsApp
[note]  56254.412 [2016-09-27 18:17:56.527] brc.sync                       container.scheduler  BRCContainerScheduler.m:808
        received a push for the container-metadata zone
[note]  56261.563 [2016-09-27 18:18:03.677] brc.sync                       container.scheduler  BRCContainerScheduler.m:808
        received a push for the container-metadata zone

Tags: , , , , , , , , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Samstag, 27. August 2016

Das iPhone bei SMS und Anrufen „blitzen“ lassen (optischer statt haptischer Alarm)

Ein neuer Arbeitskollege verwendet statt eines Vibrationsalarms (ich habe diesen im geräuschlosen Modus komplett ausgeschaltet, da er in Sitzungen nur nervt) einen optischen Alarm: Kriegt er ein SMS oder einen Anruf, blinkt der LED-Blitz seines iPhones äusserst gut sichtbar, auch durch Kleidungsstücke hindurch.

Fasziniert musste ich natürlich sofort wissen, wie man diese Funktionalität einschaltet:

  • Settings
  • General
  • Accessibility
  • [x] LED Flash for Alerts

Quelle: How to turn on the LED notification light on your iPhone

Ich denke, dass diese Funktion eigentlich für taube Mitmenschen entwickelt wurde — im Büroalltag aber durchaus auch brauchbar.

Tags: , , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Freitag, 12. August 2016

Nicht alle Google-Kalender werden in Calendar.app auf iOS angezeigt

In solchen Fällen lohnt es sich, mit dem Browser als erstes folgende URL aufzurufen:

calendar.google.com/calendar/iphoneselect

Dort überprüft man, ob man den gewünschten Kalender tatsächlich zur Synchronisation mit iOS-Geräten (iPhone oder iPad) ausgewählt hat.

Quelle: HOW TO SYNC MULTIPLE GOOGLE CALENDARS TO YOUR IPHONE OR IPAD

Tags: , , , , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 25. November 2014

Der Exchange-Administrator meines Arbeitgebers kann mein privates iPhone wipen

Erst kürzlich habe ich realisiert, dass die Exchange-Administratoren in unserem Betrieb mein privates iPhone aus der Ferne vollständig löschen („wipe“) können, sobald ich darauf die Exchange-Anbindung zum Zugriff auf mein geschäftliches Mailkonto konfiguriert habe. Das war mir neu:

… einerseits nachvollziehbar, andererseits auch äusserst gefährlich, weil einige Leute wertvolle Daten verlieren könnten, wenn sie diese nicht regelmässig auf iCloud oder mit iTunes auf ihren Rechner sichern.

Tags: , , , ,
Labels: IT

Keine Kommentare | neuen Kommentar verfassen

Montag, 12. Mai 2014

„Delete VPN“-Button fehlt unter iOS 7

Da ich heute erfahren habe, dass ich mit iOS eine PPTP-VPN-Verbindung zu meinen DD-WRT-Router herstellen und mich und meine Daten so in öffentliche Funknetzwerken schützen kann, habe ich mich hinter die Konfiguration meiner drei iOS-Geräte gemacht.

Auf dem kürzlich bei einer Mitarbeiteraktion erstandenen iPad 4 64GB WiFi + 3G war unter Settings > General > VPN bereits ein VPN-Profil meiner Alma Mater erfasst (Ursache: Ich habe das Backup meines iPad 1 auf das neue iPad geladen, welches ich während meiner Studienzeit verwendet habe). Dummerweise fehlte dem Cisco IPSec-Profil der Delete VPN-Knopf zuunterst in den Konfigurationseinstellungen (via Tastendruck auf das runde i-Symbol). Was zum Teufel … Wie kriege ich dieses längst nicht mehr genutzte VPN-Profil von meinem iPad weg?

Einige Minuten Internetrecherchen später hatte ich die Lösung meines Problems gefunden: „Can’t Delete VPN Profile“ Fix

Kurz zusammengefasst geht es darum, Benutzernamen, Serveradresse, Secret, Passwort, sonstige Formularfelder sowie den VPN-Typ mit Phantasiewerten anzupassen und das Profil zu speichern. Beim nächsten Aufruf der Konfigurationseinstellungen strahlte mir der Delete VPN-Knopf dann wie gewünscht entgegen — und das Profil lag innert Sekundenbruchteilen im digitalen Nirvana.

Tags: , , , , , , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 11. September 2013

incase Sports Armband Pro: Unbrauchbar

Vor einiger Zeit habe ich mir bei einer Reise in die USA folgendes Accessoire gekauft, um mein iPhone 4S während Trainings im Fitness-Center und beim Jogging am Arm zu tragen und Musik zu hören:

Incase iPhone 5 Sportsarmband Pro, black (Affiliate-Link)

Das Armband verrichtete seinen Dienst im Grunde zufriedenstellend – bis zu dem Tag im Sommer, an welchem ich es auf unserem Balkon in die Sonne zum Trocknen hinlegte und es ein oder zwei Tage später erst wieder abholte. Seither ist die durchsichtige Plasticfolie an der Front gewellt, was die händische Bedienung des iPhones durch die Folie hindurch zu einem Geduldsspiel werden lässt:

incase Sports Armband Pro
image-5547

Von einem Sportarmband erwarte ich gerade in diesem Bereich eine deutlich bessere Materialwahl, als es incase an den Tag legt.

Tags: , , ,
Labels: Shopping

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 11. September 2013

Wieso Touch ID für iOS-Geräte wirklich revolutionär wird

Innerhalb weniger Monate durfte ich in diesem Jahr sowohl meinem Vater als auch meiner Mutter bei der Inbetriebnahme ihrer iPads (iPad 4 resp. iPad mini) helfen. Als ich die beiden dabei beobachtete, wie sie die ersten zaghaften Schritte auf den Geräten vollführten, fiel mir insbesondere folgende Punkte auf:

Himmelheiland, das Passwort des iTunes Accounts muss ja bei der Verwendung des iPads andauernd eingegeben werden!

Uns Vertretern der jungen Generation ist es anerzogen, sich für die Anmeldung an Dutzende Internet-Services mit Unmengen an Passwörtern herumzuschlagen. Wobei ich zugeben muss, dass ich erst seit einem Jahr KeePass zur Verwaltung meiner Passwörter einsetze und so endlich über das ganze Internet hinweg komplexe – und vor allem: unterschiedliche! – Passwörter einsetze. Die ältere Generation hat hingegen immer noch massive Probleme mit dem Umgang mit Passwörtern.

Sollten meine Eltern dereinst Touch ID-fähige Apple-Geräte anschaffen, werden solche Kapriolen ein Problem der Vergangenheit sein: Ab sofort werden sie sich mit ihren Fingerabdrücken am Gerät anmelden und Käufe im iTunes Store autorisieren können. Vorbei die Fragen à la „Muss ich jetzt mein E-Mail-Passwort oder mein iTunes-Passwort eingeben?“ Auch der PIN zum Entsperren des Gerätes wird entfallen. Vertipper gehören der Vergangenheit an – der Finger wird entweder erkannt oder nicht. Neu wird der Bildschirm den Benutzern sagen, welches „Passwort“ sie „eingeben“ müssen: „Bitte den Fingerabdruck einlesen“. Vorbei auch die Befürchtungen zur Passwortkomplexität.

Ich hoffe zudem, dass durch diese Massnahme auch das Phishing von Passwörtern des iTunes-Accounts erschwert wird, indem die Leute dieses Passwort mit der Zeit vergessen – oder der Kauf von Titeln bald eine Zwei-Faktor-Authentifizierung erfordert.

Schnüffelnder Lebenspartner

Ausserdem wird Touch ID für alle Generationen ein wirksames Mittel sein, um den Partner vom herumschnüffeln im Gerät abzuhalten (ausser man erfasst deren Fingerabdruck als einen der fünf im Gerät hinterlegbaren Fingerabdrücke). Ich werde wohl Stephanies Fingerabdruck ebenfalls erfassen, denn es kommt immer wieder vor, dass wir bspw. während einer Autofahrt gegenseitig auf unsere Geräte zugreifen, um Anrufe zu tätigen oder etwas nachzuschlagen.

Sicherheit biometrischer Daten

Im Promotionsvideo betont ein Apple-Mitarbeiter zudem, dass der Fingerabdruck ausschliesslich in einem hochsicheren Bereich des Telefons abgelegt wird – weder Applikationen haben darauf Zugriff, noch werden Fingerabdrücke. Diese Beteuerungen wird man als -bemühungen im Zuge der NSA-Affäre zu deuten haben.

Finger verloren – was nun?

Ich gehe davon aus, dass die Möglichkeit besteht, den Zugriff auf das Telefon entweder mittels einer Rücksetz-Aktion über den iTunes-Account freizugeben, oder aber es besteht die Möglichkeit, zusätzlich einen vierstelligen PIN-Code – oder noch besser: ein langes alphanumerisches Passwort – (für Notfälle) zu hinterlegen.

Letzte Frage: Macs?

Wann kriegen die Apple Macintosh-Computer dieses Lesegerät? Falls der Fingerabdruckscanner wirklich hält, was es verspricht, haben wir in Bälde erstmals eine brauchbare Zwei-Faktor-Authentifizierung in Consumer-Geräten. Corporate IT wird sich freuen.

Nachtrag

Gruber hat heute (d.h. am 18. September 2013, 5 Tage nach dem Erscheinen dieses Blog-Posts) das iPhone 5S gründlich getestet. Sein Fazit zum Touch ID-Sensor:

In practice, Touch ID has proved incredibly convenient. I always knew that entering my lock screen passcode and App Store password dozens of times a day, every day, was a hassle, but I had no idea how much of a hassle it was until I didn’t have to do it any longer.

Tags: , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 1. September 2013

Der Dank iPhone-Apps und -Gadgets vermessene und vernetzte Mensch

Seit meine Partnerin und ich am 1. Juni 2012 offiziell hier in unsere Mietwohnung in Bern eingezogen sind haben sich auch einige iPhone-Apps und Gadgets in unserem Leben breit gemacht, ohne welche ich nicht mehr auskommen möchte. Hier eine Auswahl der Produkte, die helfen, meinen Körper und mein Leben zu vermessen:

Waage

Ganz frisch in unserem Gadget-Park aufgenommen wurde eine per WLAN vernetzte Waage:

Withings WS-30 Online-Waage (für iPhone und iPad) (Affiliate-Link)

Sowohl Stephanie als auch ich haben uns mit per iPhone-App mit der Waage vernetzt (mittels zwei separaten Konten, damit der Datenschutz gewahrt bleibt). Das Beste: Die Waage ist mit einer Intelligenz ausgestattet und merkt, ob Stephanie oder Mario auf der Waage steht und sendet das Gewicht an das richtige Benutzerkonto auf den Withings-Servern.

Ich habe mir nun vorgenommen, täglich zweimal (morgens und abends) auf die Waage zu stehen und so mein Gewicht über Wochen und Monaten zu überwachen. Ich bin ja mal gespannt, wie sich der Cannstatter Wasen sowie die Feiertage im Dezember auf meine Pfunde auswirken werden.

Wetterstation

Über jcfricks Tweet bin ich ein halbes Jahr nach dem Einzug in die Mietwohnung auf die Wetterstation für das 21. Jahrhundert aufmerksam geworden:

Netatmo NWS01 Wetterstation für Apple iPhone und Android (Affiliate-Link)

Seither steht die Basisstation im Wohnzimmer, registriert Temperatur, Feuchtigkeit und Lärm, während die Aussenstation auf dem Balkon die Temperatur misst (obwohl nicht über alle Zweifel erhaben, da ich hier auch schon Werte von 40 Grad Celsius abgelesen haben — wohl mangels Schattenplatz und der metallenen Unterlage?).

Mittels Web-API greife ich zudem auf diese Daten zu und zeige sie auf meinem Raspberry Pi-Dashboard minutenaktuell an. Den ursprünglich eingerichteten Lärm-Alarm habe ich deaktiviert, da meine Freundin zweitweise von zu Hause arbeitet und ich so von der iPhone-Applikation unnötig „alarmiert“ wurde. Mittels Web-Applikation lassen sich nämlich bei der Über- oder Unterschreitung von Schwellenwerten Alarmierungen an die für eine bestimmte Wetterstation registrierten Smartphone-Applikationen senden. In meinem Fall generierte jeder Lärm über 50dB eine solche Warnmeldung. Effektiv nützlich war diese Alarmierung nur gerade einmal: Als mein Bruder die Wohnung betrat, um einen ausgeliehenen Gegenstand zurückzubringen. Ansonsten waren es Helikopter, die das Inselspital anflogen oder der Hausmeister, welcher den Rasenplatz mit seinem Gebläse von Laub befreite.

Pulsmesser

Vorbei sind die Zeiten, in denen Polar ein Heidengeld mit seinen überteuerten Pulsmessern machen konnte. Dank dem immer präsenten iPhone mit grosser Rechenkraft ist es nun möglich, während dem Lauftraining auf einen „dummen“ Pulsmessgurt zu setzen, der seine Daten per Bluetooth an iPhone-Applikationen übermittelt:

Mobile Action HRM-10 i-gotU Herzratenmonitor (Bluetooth, Herz-Frequenz-Messgerät) (Affiliate-Link)

Meine Fitness-App, RunKeeper, unterstützt dieses Modell problemlos. Beim Lauftraining höre ich so in 5-Minuten-Abschnitten nicht nur, wie viele Kilometer ich schon zurückgelegt habe, sondern auch, wie hoch meine Pulsfrequenz gerade ist.

Einziger Wermutstropfen: Bisher habe ich noch nicht herausgefunden, ob und wie man die Pulswerte über eine gesamte Laufstrecke exportiert.

Tags: , , , , , , , , , ,
Labels: Shopping

1 Kommentar | neuen Kommentar verfassen

Samstag, 29. Juni 2013

Die neue Welt nach Google Reader

Es ist vollbracht: Ich habe soeben alle meine Feeds unter Google Reader gelöscht, nachdem ich sie als OPML-Datei exportiert hatte.

Meine Feeds habe ich zu Feedbin gezügelt und habe mich nicht gescheut, den Jungs dort im Jahr einige paar Dollars für die Dienstleistung zu überweisen.

Mein initiales Setup zum Konsum von RSS Feeds sieht am 29. Juni 2013 folgendermassen aus:

Besonders geschmerzt hat der Umstand, dass Silvio Rizzis Reeder auf dem iPad weiterhin nur die Synchronisation mit Google Reader unterstützt. Ich musste mich deshalb schweren Herzens von dieser App trennen. Mr. Reader funktioniert tadellos mit Feedbin, aber das UI stört mich. Zu viele Schatten und Rundungen, wo doch der Trend bezüglich iOS-Applikationen klar Richtung flachem, skeumorph-losen Designs geht.

Tags: , , , , , , , ,
Labels: Blogosphäre, IT

2 Kommentare | neuen Kommentar verfassen