Archiv ‘Apple’

Dienstag, 14. Juni 2016

Das Apple Extended Keyboard II fachmännisch reinigen

Am 1. Juni fasste ich den Entschluss, mein Apple Extended Keyboard II (der Nachfolger des ebenfalls legendären Apple Extended Keyboards) blitzblank zu reinigen.

Ich hatte die unter Geeks so geschätzte Tastatur (Stichwort: Alps-Switches) bei einem früheren Arbeitgeber aus dem Elektronikschrott gefischt und setze sie dank einem iMate ADB-zu-USB-Adapter seit jeher an meinem Mac mini ein.

Obwohl ich fast täglich mit der Tastatur in Berührung komme, hatte ich es seit jeher unterlassen, die Tastatur einer gründlichen Tiefenreinigung zu unterziehen. Ich befürchte, dass die Tastatur seit ihrer „Geburt“ nie gereinigt worden war.

Nachdem ich mich im Netz über Möglichkeiten kundig gemacht hatte, wie man die Tastatur auseinandernimmt und reinigt, schritt ich zur Tat.

Zuerst löste ich die einzige Schraube (Kreuzschlitz), die den Oberteil der Tastatur auf dem Chassis hält (hinten am Keyboard). Anschliessend konnte ich mit ein wenig rütteln das Tastaturcover entfernen.

Apple Extended Keyboard II Disassembly

Apple Extended Keyboard II Disassembly

Apple Extended Keyboard II Disassembly

Apple Extended Keyboard II Disassembly

Apple Extended Keyboard II Disassembly

Apple Extended Keyboard II Disassembly

Rasch merkte ich, dass man die Tasten mit den blossen Fingern von den Alps-Switches losreissen konnte. Das hätte ich aber lieber nicht zu lange gemacht, denn die Fingerkuppen fingen schon bald an zu schmerzen.

Ich wich nun auf die iFixIt Plastic Opening Tools aus. Ein Plasticwerkzeug genügte, mit welchem ich die Tasten vom Switch loshebelte. Aber Achtung: Einige flogen quer durch das Wohnzimmer.

Längere Tasten sind mit einem Metalbügel am Board befestigt. Diese Bügel entfernte ich ebenfalls vom Board und legte sie an sicherer Stelle zur Seite. Bei der Schweizer Tastatur gibt es mindestens zwei Bügellängen, die fast genau gleich lang sind, aber eben nur fast.

Hier ein Beispiel eines solchen Bügels:

Apple Extended Keyboard II Disassembly

Nachdem ich die Tasten alle entfernt hatte, legte ich diese zusammen mit dem Cover in den Geschirrbehälter meines Geschirrspülers. Ich starte den Geschirrspüler im Standardmodus — aber ohne Seifen-Tab. 60 Grad Celsius heisses Wasser sowie das standardmässig im Geschirrspüler abgefüllte Salz und Glanzreiniger mussten nun während ca. zwei Stunden die Plasticteile reinigen. Die Reinigung klappte wunderprächtig!

Unterdessen nahm ich den Staubsauber hervor und reinigte den Bereich zwischen den Tasten und dem schwarzen Board. Sensible Seelen sollten die folgenden Fotos nicht allzu genau anschauen; es fanden sich tonnenweise Haare, aber auch Brotkrümel und sonstige Essensreste:

Apple Extended Keyboard II Disassembly

Apple Extended Keyboard II Disassembly

Apple Extended Keyboard II Disassembly

Die gröbsten Dreckablagerungen konnte ich mit dem Staubsauger und einer dünnen Düse entfernen. Für die Tiefenreinigung folgte ich dann der Blitzidee meiner Frau, ein Zahnbürstchen zu verwenden. Was für Zähne und Zahnzwischenräume gut genug ist, passt auch für ein AEKII perfekt. Als Reinigungslösung verwendete ich Screen-Cleene von Automation Facilities (SCS250):

Apple Extended Keyboard II Disassembly

Apple Extended Keyboard II Disassembly

Apple Extended Keyboard II Disassembly

Apple Extended Keyboard II Disassembly

Apple Extended Keyboard II Disassembly

In der Zwischenzeit hatte der Geschirrspüler sein Waschprogramm beendet. Ich nahm die Tasten aus dem Geschirrbehälter und breitete sie auf eine Abtrocktuch aus. Sehr rasch entschied ich mich dann aber dafür, dem ganzen künstlich nachzuhelfen, schmiss die Tasten in eine Plasticbox und richtete im Badezimmer den Föhn auf die Oberflächen (und zerstörte dabei offenbar den Föhn der besseren Hälfte).

Als die Tasten fühlbar trocken waren, ging es dann auch bereits los: Nun musste ich diese in mühsamer Handarbeit wieder an den Alps-Switches anbringen. Glücklicherweise können die Tasten einfach auf die Switches gesteckt werden. Etwas komplizierter sind die Tasten mit Metallbügel, aber auch das kriegt man mit ein wenig Übung, Fingerspitzengefühl und einer Pinzette hin.

Eine Schrecksekunde gab es, als alle Tasten an ihrem Platz waren — ausser das verfluchte „X“. Nach einer fünfminütigen Suchaktion fand ich es dann im Abflussgitter des Geschirrspülers. Ich empfehle deshalb wärmstens, die Tasten in einem Textilsäckchen zu waschen, welches man von Waschmaschinen her kennt.

Apple Extended Keyboard II Disassembly

Apple Extended Keyboard II Disassembly

Apple Extended Keyboard II Disassembly

Apple Extended Keyboard II Disassembly

Das Schlussresultat lässt sich durchaus sehen:

Apple Extended Keyboard II Disassembly

Apple Extended Keyboard II Disassembly

Fazit: Auf die nächsten 20 Jahre! Ich würde es sofort wieder machen.

Links

Hilfreich waren folgende Artikel:

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

2 Kommentare | neuen Kommentar verfassen

Sonntag, 22. Mai 2016

Passbook Pass zu gross

Ticketino Passbook Pass Too Large

Liebe Entwickler von Ticketino, es wäre hilfreich, wenn ihr Apples Entwicklerdokumentation zu den Passbook Passes lesen, verstehen und umsetzen könntet …

Ticketino Passbook Pass 17MB zensiert

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

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 22. Mai 2016

Wo speichert Apple iCloud-Daten?

In der Branche ein offenes Geheimnis:

iCloud Photos googleapis

Derzeit greift Apple auf einen Mix von Amazon, Microsoft Azure sowie Googles Cloud zurück, um seine Internet-Dienste zur Verfügung zu stellen. Obiger Screenshot einer Meldung der Firewall Little Snitch belegt dies.

Tags: , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Montag, 16. Mai 2016

iPad Pro 9.7″ stirbt mit Error 56 (Update)

Ein Kollege hat sich kürzlich ein iPad Pro 9.7″ gekauft. Das Gerät ist nach einigen Wochen Benutzung abgestürzt, was ihn zu einem Restore gezwungen hat. Leider schlägt diese Prozedur reproduzierbar fehl: iTunes meldet „Error 56“ und der Restore bleibt hängen.

Wer nach „error 56“ „ipad pro“ googlet, findet sowohl auf Twitter als auch auf Web-Sites wie Apple Discussions Hinweise, dass mein Kollege nicht der erste Käufer ist, der sich mit diesem unlösbaren Problem herumplagen muss.

Ich erwarte, dass Apple in den nächsten Tagen (oder Wochen) das Problem offiziell anerkennt. Entweder es lässt sich mit einem Software-Update lösen, oder aber wir haben es hier mit einer fehlerhaften Produktionsserie zu tun (Hardware-Problem).

Nachtrag

Am 20. Mai 2016 war es soweit: Apple comments on ‚Error 56‘, fix on the way for affected iPads.

Wer ein GA besitzt oder in Zürich respektive Basel respektive Genf und Umgebung wohnt vereinbart am einfachsten einen Termin im Apple Store und lässt sich sein gebricktes iPad Pro wie Jean-Claude Frick umtauschen.

Tags: ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 17. April 2016

Photos in einem iPhoto Smart Album löschen

So simpel, wenn man den Trick kennt:

If I then click on the Photos menu and hold down the Option key I can choose to move any selected images to the trash.

Quelle: Tips for locating (and deleting) iPhoto images

Auf Deutsch: Ich wähle alle Photos eines Smart Albums aus, welche ich gelöscht haben möchte (sie sind dann gelb umrandet). Anschliessend drücke ich die Option-Tast (⌘) und klicke — während ich die Taste gedrückt halte — auf den Menupunkt „Photos“. Das vorher ausgegraute „Move to Trash“ ist nun wählbar. Je nach Zahl der ausgewählten Photos dauert der Löschprozess eine Weile.

Ich habe diese Funktionalität genutzt, um alle Screenshots von iOS-Geräten in meiner iPhoto Library zu löschen (nachdem ich diese in einen Ordner im Dateisystem kopiert habe — dort machen die Screenshots mehr Sinn).

Hierzu habe ich ein Smart Album erstellt, welches Photos findet, die die Dateiendung PNG tragen:

iPhoto Smart Album PNG iOS Screenshots

Tags: , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Samstag, 2. April 2016

monit mit MacPorts unter OS X El Capitan installieren (mit angeblich fehlenden OpenSSL-Headern)

Vor einigen Tagen habe ich mich entschieden, mein MacBook Air (Late 2010) komplett platt zu machen und OS X El Capitan darauf zu installieren.

Nach der Neuinstallation musste ich auch alle meine MacPorts-Packages neu installieren. Leider gab es Probleme bei der Installation des Pakets monit:

$ sudo port install monit
Password:
---> Computing dependencies for monit
---> Configuring monit
Error: Failed to configure monit, consult /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_monit/monit/work/monit-5.12.1/config.log
Error: org.macports.configure for port monit returned: configure failure: command execution failed
Please see the log file for port monit for details:
   /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_monit/monit/main.log
To report a bug, follow the instructions in the guide:
   http://guide.macports.org/#project.tickets
Error: Processing of port monit failed

Ein Blick in /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_monit/monit/main.log zeigte folgende detailliertere Fehlermeldung:

...
:info:configure checking for static SSL support... disabled
:info:configure checking for SSL support... enabled
:info:configure checking for SSL include directory... Not found
:info:configure 
:info:configure Couldn't find your SSL header files.
:info:configure Use --with-ssl-incl-dir option to fix this problem or disable
:info:configure the SSL support with --without-ssl
:info:configure 
:info:configure Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_monit/monit/work/monit-5.12.1" && ./configure --prefix=/opt/local 
:info:configure Exit code: 1
:error:configure Failed to configure monit, consult /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_monit/monit/work/monit-5.12.1/config.log
:error:configure org.macports.configure for port monit returned: configure failure: command execution failed
:debug:configure Error code: NONE
:debug:configure Backtrace: configure failure: command execution failed
   while executing
"portconfigure::configure_main org.macports.configure"
   ("eval" body line 1)
   invoked from within
"eval $procedure $targetname"
:info:configure Warning: targets not executed for monit: org.macports.activate org.macports.configure org.macports.build org.macports.destroot org.macports.install
:notice:configure Please see the log file for port monit for details:
   /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_monit/monit/main.log

Der relevante Teil des Logs:

...
:info:configure Couldn't find your SSL header files.
:info:configure Use --with-ssl-incl-dir option to fix this problem or disable
:info:configure the SSL support with --without-ssl
...

MacPorts openssl war aber installiert und die Header-Files fanden sich im Pfad /opt/local/include/openssl. Den Pfad hatte ich mit einer Suche nach ssl.h ausgemacht.

Nach mehr als einer Stunde Google-Suche war ich immer noch nicht weiter. Da kam mir der Geistesblitz: Das configure-Script von monit wird die SSL-Headers wohl im Standardverzeichnis suchen. Offenbar gibt es dieses Verzeichnis nicht, weshalb die Installation scheitert … wenn ich aber herausfinde, wie das Standardverzeichnis lautet, kann ich dieses mit einem Symlink auf das MacPorts-Verzeichnis umbiegen und die Installation sollte durchlaufen.

Gesagt, getan. Als erstes startete ich in einem Terminal-Fenster die Installation von monit:

$ sudo port install monit

In einem zweiten Tab führte ich dann folgenden Befehl aus, um alle Zugriffe auf das Dateisystem zu loggen:

$ sudo fs_usage

Nachdem das Tab mit dem MacPorts-Befehl wieder „bash“ als Titel anzeigte, stoppte ich fs_usage mit Ctrl-C. Anschliessend kopierte ich den ganzen Text in eine Textdatei, speicherte diese auf dem Desktop ab und begann, den Text zu greppen.

Ganz am Schluss der Aktivitäten kam heraus:

...
18:17:53  stat64            /usr/include/sys/_pthread/_pthread_key_t.h                                 0.000008   clang       
18:17:53  stat64            /usr/include/sys/_types/_fsblkcnt_t.h                                      0.000008   clang       
18:17:53  stat64            /usr/include/sys/_types/_fsfilcnt_t.h                                      0.000008   clang       
18:17:53  stat64            /opt/local/include                                                         0.000013   clang       
18:17:53  stat64            /usr/local/include                                                         0.000005   clang       
18:17:53  stat64            /usr/local/include                                                         0.000004   clang       
18:17:53  stat64            /Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/7.3.0/include    0.000013   clang       
18:17:53  stat64            .app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include    0.000007   clang       
18:17:53  stat64            /usr/include                                                               0.000005   clang

/usr/local/include tönte vielversprechend nach einem Standardpfad … und Bingo:

$ cd /usr/local/include
-bash: /usr/local/include: No such file or directory

Tönt wie ein Volltreffer. Dann versuchen wir es doch einmal damit:

$ sudo mkdir /usr/local/include
$ cd /usr/local/include
$ sudo ln -s /opt/local/include/openssl .

Alles bereit für den Versuch? Dann los — et voilà:

$ sudo port install monit
--->  Computing dependencies for monit
--->  Configuring monit
--->  Building monit
--->  Staging monit into destroot
--->  Creating launchd control script
###########################################################
# A startup item has been generated that will aid in
# starting monit with launchd. It is disabled
# by default. Execute the following command to start it,
# and to cause it to launch at startup:
#
# sudo port load monit
###########################################################
--->  Installing monit @5.12.1_1
--->  Activating monit @5.12.1_1
--->  Cleaning monit
--->  Updating database of binaries
--->  Scanning binaries for linking errors
--->  No broken files found.

Die Jungs von homebrew haben die Problematik übrigens direkt im config-File gefixt, und zwar mit dem Parameter --with-ssl-dir, welches auf den openssl-Pfad zeigt:

...
def install
    system "./configure", "--prefix=#{prefix}",
                          "--localstatedir=#{var}/monit",
                          "--sysconfdir=#{etc}/monit",
                          "--with-ssl-dir=#{Formula["openssl"].opt_prefix}"
    system "make", "install"
    (share/"monit").install "monitrc"
...

Quelle: homebrew/monit.rb at master

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

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 2. März 2016

Apple meldet „Die Transaktion kann für den ausgewählten Standort nicht ausgeführt werden“

Vor einigen Wochen habe ich mir mit Seriennummern von allen je von mir gekauften Apple-Geräten dutzende Netzteilstecker bestellt. Apple hat diesen Rückruf lanciert, weil das Unternehmen realisiert hat, dass ältere Stecker den Qualitätskriterien nicht genügen und die Besitzer im schlimmsten Fall durch einen Stromschlag töten können.

Die für die Abwicklung des Rückrufs von Apple programmierte Web-Seite lässt aber zu wünschen übrig: Nachdem man den ersten Netzteilstecker bestellt hat, muss man den Browser komplett schliessen. Ansonsten sieht man sich folgender Fehlermeldung gegenüber, wenn man die zweite Seriennummer absenden will:

Apple Transaktion Standort

PS: Die Pakete sind übrigens immer noch nicht bei meinem Arbeitgeber eingetroffen. Auf der Status-Seite von Apple steckt der Prozess bei Schritt 2 von 3 fest: „Ersatzversand wird bearbeitet“. Bestellt habe ich die Netzteilstecker am 9. Februar …

Tags: , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 9. August 2015

Apple TV verursacht zusammen mit einer Apple Time Capsule arpwatch flip flops

Seit ich vor einigen Tagen im Netzwerk eines Familienangehörigen zwei gebrauchte Apple Time Capsules (500GB sowie 2TB) installiert habe, füllt sich das Log meiner arpwatch-Instanz mit folgenden Meldungen:

            hostname: 
          ip address: 192.168.44.155
           interface: eth1
    ethernet address: aa:bb:cc:dd:ee:ff
     ethernet vendor: 
old ethernet address: 00:11:22:33:44:55
 old ethernet vendor: Apple, Inc
           timestamp: Sunday, August 9, 2015 15:36:58 +0200
  previous timestamp: Saturday, August 8, 2015 23:03:54 +0200
               delta: 16 hours

Aus Sicht von arpwatch „übernimmt“ die Time Capsule 500GB die IP-Adresse des Apple TVs. Dies ist insofern unzulässig, weil ich die IPs statisch festgelegt habe und mittels einem DHCP-Server an die anfragende MAC-Adresse aushändige.

Nach kosmetischen Anpassungen an der Konfiguration der Time Capsule brachte ich die Fehlermeldung nicht weg. Eine Google-Suche hingegen liefert mir einen Hinweis, was das wirklich Problem sein könnte:

Bug 841067 – Arpwatch repeatedly misdetects „Bonjour Sleep Proxy“ as „flip flop“

Frei übersetzt legt die Time Capsule die Bonjour-Informationen des Apple TVs in ihrem Zwischenspeicher ab. Wenn sich der Apple TV in den Schlafmodus verabschiedet, weil das Gerät nicht (mehr) genutzt wird, sendet die Time Capsule Infos über den Apple TV regelmässig ins Netzwerk, damit andere Apple-Geräte wissen, dass ein Apple TV im Netz hängt. Irgendwie scheint dieser Bonjour-Broadcast für arpwatch auszusehen, als ob die Time Capsule unter der IP-Adresse des Apple TVs funkt.

Ich habe den Log-Alarm deshalb nun so umgestellt, dass er flip flops mit dieser IP ignorieren wird.

Nachtrag

Ein bereits älterer Thread zu dem Thema im Apple-Diskussionsforum: ARP Cache Poison behavior by Apple TV

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

4 Kommentare | neuen Kommentar verfassen

Sonntag, 9. August 2015

Wer sich wieder Mal wirklich alt fühlen möchte: Kinder spielen mit dem ersten Apple iPod von 2001

Ich habe meinen ersten iPod am 20. Dezember 2001 gekauft, damals für sagenhafte 711 CHF (nicht zu vergessen, dass der US Dollar damals noch viel mehr Wert hatte als heute). Für diesen Betrag kriegt man heute problemlos einen iPod, der tatsächlich auch telefonieren kann — und noch vieles mehr …

Tags: , , , ,
Labels: Apple, Funny

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 25. Juni 2015

Phil Schiller im Interview mit John Gruber

Die WWDC 2015 ist Geschichte. Apple hat uns einen Ausblick gezeigt auf das, was wir mit iOS 9.0 sowie mit OS X El Capitan erwarten können. Die Präsentation von Apple Music wurde von vielen Kommentatoren als einer der Tiefpunkte in der Geschichte der WWDC taxiert.

Dass Apple sich seit dem Tod von Steve Jobs unter Tim Cook wandelt, zeigt sich in vielen Belangen. Das „neue“ Unternehmen tritt offener und transparenter auf und kann auch in kontroversen Fragen klare Standpunkte einnehmen.

Etwas erstaunt war ich dann aber doch, Phil Schiller, SVP Worldwide Marketing, zu Gast bei John Gruber (Daring Fireball) zu sehen. Am Rande der WWDC lud John zu einem Talk, welcher als Live Stream verbreitet sowie aufgezeichnet wurde.

Wer Phil Schiller für einmal abseits von perfekt choreographierten Apple-Präsentationen erleben will, muss sich dieses Video unbedingt anschauen:

The Talk Show Live From WWDC 2015 from John Gruber on Vimeo.

Viel neues lernen wir aus dem Gespräch nicht, aber es ist erfrischend zu sehen, dass sich ein Apple SVP „unters Volk“ mischt und sich den aktuell brennenden Fragen stellt. Als spannend empfand ich die Bemerkung, dass Schiller 2004 erstmals per E-Mail mit John Gruber in Kontakt getreten ist.

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

Keine Kommentare | neuen Kommentar verfassen