Archiv ‘Apple’

Mittwoch, 23. Mai 2018

Init7 TV7: Beste inoffizielle IPTV-Applikation für Apple TV

(Folgeartikel zum Artikel Init7 TV7: Installation mit einem Turris Omnia-Router)

Init7 bietet zwar eine dedizierte Apple TV-App für TV7 an, doch bereits bei der Ankündigung befürchtete ich, dass die in unserem Haushalt nicht erhältlich sein wird: Wir haben einen Apple TV 4 mit 32GB-Speicher, das Gerät läuft aber auf die us-amerikanische Apple ID meiner Frau. Dementsprechend werden uns im App Store auch nur die weltweit verfügbaren und die für den us-amerikanischen Markt verfügbaren Apps angezeigt.

Keine Spur von der TV7 App:

image-7892

image-7893

image-7894

Nach einigem Pröbeln entschied ich mich für den Kauf resp. die Installation folgender drei vier Apps:

  1. iPlayTV
  2. rIPTV
  3. GSE SMART IPTV
  4. TV Streams

Wichtiger Tipp

Es empfiehlt sich, den Direktlink auf die TV7-Kanalliste (tvchannels.m3u) mit dem iPhone als „Eingabetastatur“ in die Apple TV-Oberfläche einzugeben einzufügen (Copy & Paste) — sonst wird man wahnsinnig, bevor man das mit der Apple TV Remote bewerkstelligt hat.

iPlayTV

Apple App Store Link, Letztes Update: 4. Mai 2017 (!), Kaufpreis: $2.99

Meiner Meinung nach das beste GUI, aber die App funktioniert nicht: Die M3U-URL konnte ich zwar schnurstracks hinterlegen, die Sender werden aus der M3U-Datei ausgelesen und die bekannten darunter mit Logo der Sendestation versehen. Doch wenn ich irgendeinen Kanal auswähle, erscheint folgende Fehlermeldung:

Some problem happened while playing SRF1 HD

image-7895

Ich habe darauf jede verfügbare Einstellung angepasst, doch schlussendlich gab ich auf: Mit iPlayTV kann man aus irgendeinem Grund keine TV7-Streams empfangen.

rIPTV

Apple App Store Link, Letztes Update: 3. Februar 2018, Kaufpreis: $2.99

Die Applikation meiner Wahl (weil ich es mit iPlayTV nicht hingekriegt habe). Das GUI schaut ebenfalls sehr benutzerfreundlich aus, und ist es auch — iPlayTV wäre aber ein Mü hübscher.

Mit dieser App hatte ich anfänglich das Problem, die M3U-Kanalliste mittels Direktlink einzulesen — das funktioniert irgendwie einfach nicht:

image-7896

Schlussendlich musste ich mir auch noch die iPhone-App kaufen, die Senderliste mittels der URL importieren (auf dem Smartphone funktioniert es!) und diese dann mittels Fast Load (YouTube-Anleitung) auf den Apple TV pushen.

Seither funktioniert alles Bestens und ich kann mit der App jeden Sender schauen.

Vorteile: Sender-Logos der bekannten (und von TV7 „richtig“ benannten TV-Sendern) werden erkannt, heruntergeladen und angezeigt. Auch holt sich die App von irgendwo aus dem Internet den EPG und zeigt diesen — falls für den Sender verfügbar — automatisch an.

Nachteil: Ändert TV7 dereinst die IPs oder Ports seiner Sender, muss ich das ganze Import und Fast Load-Prozedere erneut durchkauen — und alle Favoriten neu setzen.

GSE SMART IPTV

Apple App Store Link, Letztes Update: 21. Mai 2018, Kaufpreis: Gratis (limitierte Version; mit In-App-Käufen aufrüstbar — oder direkt für $4.99 als Pro-Version kaufen)

Die App sieht schlicht zum Kotzen aus — als hätte sie ein junger, pickliger Bill Gates im Hinterhof zusammengeschustert. Ein solches GUI würde man am ehesten in einer H4x0r/Cracker-Schattenwelt erwarten.

So hässlich die Applikation daherkommt — es war die einzige, die mit dem M3U-Direktlink auf Anhieb funktionierte. Und: Sie erlaubt es sogar, Streams direkt auf den Apple TV aufzunehmen, falls der freien Festplattenplatz aufweist.

TV Streams

Apple App Store Link, Letztes Update: 17. Mai 2018, Kaufpreis: $2.99, Offizielle Homepage

NOCH NICHT AUSPROBIERT

Video-Tutorial, um M3U-Listen hinzuzufügen

Links

Tags: , , , , , ,
Labels: Apple, IT, Linux, Medien, Schweiz

Keine Kommentare | neuen Kommentar verfassen

Freitag, 23. März 2018

macOS Python kennt das Modul yaml nicht

Wird man mit folgender Fehlermeldung konfrontiert …

Traceback (most recent call last):
  File "/Users/mario/test.py", line 6, in 
    import yaml
ImportError: No module named yaml

… kann man entweder versuchen, das yaml-Modul unter der macOS Python-Installation nachzuinstallieren, oder man wechselt auf das (bei mir bereist installierte) MacPorts und verbastelt damit nicht macOS:

$ sudo port install libyaml
$ sudo port select --set python python27

Weil ich letzteren Befehl nicht auf Anhieb ausgeführt hatte, biss ich mir noch einige Minuten die Zähne aus, da das Terminal (bash) weiterhin das macOS python unter /usr/bin/python mit Version 2.7.10 ausführte und nicht dasjenige unter /opt/local/bin/python mit Version 2.7.14. Nachdem ich den port select-Befehl ausgeführt hatte, lag unter /opt/local/bin dann das Executable python (respektive der Symlink darauf) (vorher gab es dort nur python2.6, python2.7 und python3.4)

Tags: , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Freitag, 23. März 2018

VirtualBox unter macOS High Sierra zum Laufen bringen

Das ist nicht so ganz trivial, da bei diesem und früheren macOS SIP (System Integrity Protection) aktiviert ist, VirtualBox aber einige Kernel Extensions (kext) laden können muss. Sonst kommt es zu folgenden Fehlermeldungen:

$ sudo "/Library/Application Support/VirtualBox/LaunchDaemons/VirtualBoxStartup.sh" restart
Loading VBoxDrv.kext
/Library/Application Support/VirtualBox/VBoxDrv.kext failed to load - (libkern/kext) system policy prevents loading; check the system/kernel logs for errors or try kextutil(8).
Error: Failed to load /Library/Application Support/VirtualBox/VBoxDrv.kext
Loading VBoxUSB.kext
/Library/Application Support/VirtualBox/VBoxUSB.kext failed to load - (libkern/kext) system policy prevents loading; check the system/kernel logs for errors or try kextutil(8).
Error: Failed to load /Library/Application Support/VirtualBox/VBoxUSB.kext
Loading VBoxNetFlt.kext
/Library/Application Support/VirtualBox/VBoxNetFlt.kext failed to load - (libkern/kext) system policy prevents loading; check the system/kernel logs for errors or try kextutil(8).
Error: Failed to load /Library/Application Support/VirtualBox/VBoxNetFlt.kext
Loading VBoxNetAdp.kext
/Library/Application Support/VirtualBox/VBoxNetAdp.kext failed to load - (libkern/kext) system policy prevents loading; check the system/kernel logs for errors or try kextutil(8).
Error: Failed to load /Library/Application Support/VirtualBox/VBoxNetAdp.kext
(kernel) Kext org.virtualbox.kext.VBoxNetAdp not found for unload request.
Failed to unload org.virtualbox.kext.VBoxNetAdp - (libkern/kext) not found.
(kernel) Kext org.virtualbox.kext.VBoxNetFlt not found for unload request.
Failed to unload org.virtualbox.kext.VBoxNetFlt - (libkern/kext) not found.
(kernel) Kext org.virtualbox.kext.VBoxUSB not found for unload request.
Failed to unload org.virtualbox.kext.VBoxUSB - (libkern/kext) not found.
(kernel) Kext org.virtualbox.kext.VBoxDrv not found for unload request.
Failed to unload org.virtualbox.kext.VBoxDrv - (libkern/kext) not found.

Apple beschreibt im Dokument User-Approved Kernel Extension Loading, wie man diese Kernel-Extensions trotz dem Schutz aktiviert.

Abgesehen davon gibt es auch noch den Issue-Thread „Cannot install virtualbox on macOS High Sierra“ auf Github. Ein Leser hat dort ein Script gepostet, mit dem die Freischaltung nach und nach vorgenommen werden kann.

Hier noch zwei nicht mit VirtualBox verwandte Meldungen, die zeigen, wie dem Benutzer von macOS High Sierra die Blockierung von kexts bekannt gegeben wird:

image-7808

image-7809

Tags: , , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 22. März 2018

curlftps kann unter macOS High Sierra mit macports nicht installiert werden

Heute erhielt ich folgende Fehlermeldung:

--->  Computing dependencies for curlftpfs
--->  Dependencies to be installed: osxfuse
--->  Building osxfuse
Error: Failed to build osxfuse: command execution failed
Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_fuse_osxfuse/osxfuse/main.log for details.
Error: Follow https://guide.macports.org/#project.tickets to report a bug.
Error: Processing of port curlftpfs failed

In der angegebenen main.log las ich:

...
:info:build Command /bin/sh failed with exit code 1
:info:build ** BUILD FAILED **
:info:build The following build commands failed:
:info:build 	PhaseScriptExecution BridgeSupport\ Metadata build/OSXFUSE.build/Release/OSXFUSE.build/Script-28D525C40EA8076400B7CF7B.sh
:info:build (1 failure)
:info:build T:framework          | Failed to build target
:info:build Terminated: 15
:info:build Received signal: SIGTERM
:info:build Command failed:  cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_fuse_osxfuse/osxfuse/work/osxfuse-osxfuse-431bdc5" && ./build.sh -t packagemanager -a build -v 5 --build-directory="/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_fuse_osxfuse/osxfuse/work" -- -a x86_64 --framework-prefix="/opt/local" --fsbundle-prefix="/opt/local" --library-prefix="/opt/local" 
:info:build Killed by signal: 15
:error:build Failed to build osxfuse: command execution failed
:debug:build Error code: CHILDKILLED 1299 SIGTERM {software termination signal}
:debug:build Backtrace: command execution failed
:debug:build     while executing
:debug:build "system {*}$notty {*}$nice $fullcmdstring"
:debug:build     invoked from within
:debug:build "command_exec build"
:debug:build     (procedure "portbuild::build_main" line 8)
:debug:build     invoked from within
:debug:build "$procedure $targetname"
:debug:build invalid command name "::ui_init"
:debug:build     while executing
:debug:build "::ui_init $priority $prefix $channels($priority) {*}$args"
:debug:build     ("uplevel" body line 2)
:debug:build     invoked from within
:debug:build "uplevel 1 $body"
:error:build See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_fuse_osxfuse/osxfuse/main.log for details.

Da ich keine Lösung für das Problem fand, eröffnete ich im MacPorts Trac einen Defect: osxfuse: build failed with SIGTERM

Die Antwort kam postwended — das Problem sei bekannt und bereits im Defect osxfuse @3.7.1: Library not loaded: @rpath/libclang.dylib (LoadError) beschrieben.

Als temporärer Workaround wird dort empfohlen:

$ cd /Applications/Xcode.app/Contents/Developer/Toolchains
$ sudo ln -s XcodeDefault.xctoolchain OSX10.13.xctoolchain

Danach kompilierte die Sache problemlos.

Tags: , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 22. März 2018

WiFi-Kennwörter auch aus dem Recovery-Modus eines Macs entfernen

Kürzlich habe ich meinen Mac mini (Late 2012) verkauft. Als ich das Gerät frisch formatiert und aufgesetzt habe, habe ich realisiert, dass sich der Mac im Recovery-Modus automatisch mit meinem WLAN verbindet. Das konnte nur bedeuten, dass das Passwort für mein WLAN-Netzwerk auch noch ausserhalb der frisch formatierten Festplatte abgelegt sein musste.

Eine Frage auf Ask Different nimmt sich diesem Thema an: How to prevent storing the WiFi password on the recovery partition?

Ich entschied mich deshalb, das NVRAM des Mac minis zu löschen. Das funktioniert, indem man beim Booten folgende Tastenkombination drückt und gedrückt hält:

Option + Command + P + R

Quelle: How to reset NVRAM on your Mac

Ein erneuter Reboot in den Recovery Modus belegte dann, dass sich der Mac nicht mehr automatisch mit meinem WLAN-Netzwerk verband.

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

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 22. März 2018

Nicht über Apple gekauften AppleCare Protection Plan registrieren

Da mein iMac 27″ (Late 2015) diesen März ein Jahr alt wurde, habe ich mich entschieden, einen Apple Care Protection Plan anzuschaffen. Diesen kann man innerhalb eines Jahres nach Kaufdatum des Macs erstehen und die Garantie des Geräts auf drei Jahre verlängern.

Für meinen iMac handelt es sich um das Produkt mit der Produktenummer MF216D/A. Es wäre möglich, die Garantieverlängerung bequem online über Apple zu kaufen, doch dies hätte mit satten 249 CHF zu Buche geschlagen.

Kauft man die physische Box-Version über einen Detailhändler, kann man einiges an Geld sparen. Da dies mein erster Kauf eines AppleCare Produkts war, entschied mich für volles Risiko und orderte stattdessen den Artikel Apple AppleCare Protection iMac MD007D/A von Techniworld.ch — für 153.55 CHF. Eine Ersparnis von knapp 100 CHF. Und um es vorwegzunehmen: Ja, es handelt sich um das identische Produkt und Apple hat die so gekaufte Garantieverlängerung akzeptiert.

Mit der Seriennummer, die auf der Papierbroschüre aufgeklebt ist, identifiziert man gegenüber Apple die Gültigkeit des Plans. Diese Nummer muss gemäss Apple folgendermassen zusammen mit dem Gerät registriert werden:

AppleCare-Vertrag registrieren

  • Melden Sie sich bei „Mein Support“ mit Ihrer Apple-ID und Ihrem Passwort an.
  • Wählen Sie das Gerät aus, für das Sie einen AppleCare-Vertrag registrieren müssen.
  • Klicken Sie auf „Abdeckung hinzufügen“.
  • Klicken Sie auf „Jetzt registrieren“.
  • Geben Sie Ihre Vertragsnummer und Ihre E-Mail-Adresse ein. Akzeptieren Sie dann die Allgemeinen Geschäftsbedingungen von Apple.

Quelle: Ihre Apple-Geräte und AppleCare-Verträge bei „Mein Support“ ansehen

Soweit so gut — ich konnte mich tatsächlich problemlos auf „My Support“ einloggen, sah meinen iMac und darunter den blau hinterlegten Link, um einen AppleCare Protection Plan für das Gerät zu hinterlegen.

Das Problem kam erst beim Ausfüllen meiner Kontaktdaten zu Tage: Als Land waren die „United States of America“ hinterlegt, und ich konnte diese Auswahl nicht ändern (wieso Apple nicht einfach die bereits in der Apple ID hinterlegten Informationen verwendet, ist mir schleierhaft).

Nach etwas Pröbeln schaffte ich es dann schlussendlich, dass in diesem Formular die Schweiz als Land voreingestellt war und schweizerische Adressen eingegeben werden konnten. Wie man das macht?

  • Zuerst einmal verwendet man einen anderen Browser, der noch nicht in diese Apple Support-Seite eingeloggt ist. Am Besten löscht man alle Caches und Cookies, oder verwendet gleich den Incognito-Modus. Ich habe Firefox gewählt.
  • Anschliessend stellt man die Sprache des Browsers auf „Deutsch/Schweiz [de-ch]“ ein. In Firefox unter Mac erfolgt dies über das Menu Firefox > Einstellungen > Allgemein > Sprache
  • Schlussendlich verwendet man die (fast) identische URL, wie sie Apple im Hilfedokument angibt, fügt aber als GET-Parameter folgenden Zeichenkette an: ?selectedLocale=de_CH. Die URL lautet nun also komplett mysupport.apple.com/?selectedLocale=de_CH. Surft man die Support-Seite auf diesem Weg an, sollte sie auf Deutsch angezeigt werden

image-7771

image-7772

Danach bin ich dem normalen Weg gefolgt.

Falls es damit immer noch nicht klappt — d.h. als Herkunftsland sind immer noch die USA ausgewählt — empfehle ich noch einen letzten Versuch: mysupport.apple.com/agreements/enroll?selectedLocale=de_CH

A propos: Wenn ich heute mit Firefox die Support-Seite ansurfe, erscheint folgende Fehlermeldung:

image-7773

Tags: , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 20. Februar 2018

Steve Jobs über Unternehmen, die auf Prozesse statt Inhalte schauen

You know what it is? People get confused. Companies get confused. When they start getting bigger they want to replicate their original success. And they start to think that somehow there is some magic in the process of how that success was created. So they start to institutionalise the process across the company. But before very long people get confused and think that the process is the content. And that was ultimately the downfall of IBM. IBM had the best process people in the world but they forgot about the content. And that’s what happened a little bit at Apple too. We had a lot of people who were great at management process and they didn’t have a clue as to the content. And in my career I found that the best people are the ones who understand the content. They are a pain in the butt to manage. You put up with it because they are so great in the content. And that’s what makes a great product. It is not process. It is content.

Via: Steve Jobs about Process and Content

Tags: , , , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Donnerstag, 25. Januar 2018

Die Authentizität eines Apple Watch Milanaise Loop Armbands überprüfen

Momentan bin ich auf der Suche nach einem gebrauchten Apple Watch Milanaise Loop 42mm Armbands. Gebraucht deshalb, weil das Armband bei Digitec neu 139 CHF kostet.

Leider ist der Markt geflutet mit Imitaten und man muss aufpassen wie ein Heftlimacher, dass man nicht irrtümlich an Nicht-Originalware gerät (ausser man sucht absichtlich eine Imitat).

Wie erkennt man das Original? Mit einer Google-Suche fand ich auf MacRumors.com den Forums-Post How to tell if it is a genuine milanese loop?

Die wichtigsten Indikatoren sind demnach:

„Stehvermögen“

the Apple ones are thicker and stand on their side. the 3rd party bands collapse like a chain. […] If you set it down it sits like a leather strap would, keeps it’s form more, stays more rigid. the 3rd party ones collapse into loops of mesh.

Lasergravuren

Two sure fire ways to identify genuine- one lug has „assembled in China“ laser etched on it and on the inside of the band there should be 38mm etched to indicate the size.

Dann schauen wir doch mal, welche Gravuren meine Apple Watch 42mm Milanaise aufweist, bei welcher ich eigentlich zu 100 Prozent sicher bin, dass es sich um ein vollständiges Original handelt:

image-7646

Gravur: 42mm

image-7647

Gravur: Assembled in China

image-7648

Gravur: Stainless Steel

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

Keine Kommentare | neuen Kommentar verfassen

Montag, 8. Januar 2018

Die drei iPhone X-Modelle

Da ich mir in einem leichtsinnigen Moment kurzzeitig überlegt habe, auf meiner USA-Reise im Mai 2018 ein iPhone X zu kaufen, habe ich mich schlau gemacht, ob das in den USA verkaufte Modell grundsätzlich mit europäischen Funknetzen kompatibel ist.

Antwort: Ja, ist es.

Vom iPhone X gibt es Sicht der verbauten Mobilfunkhardware (Modem-Chip, sowie evtl. auch Antennendesign) insgesamt drei Modelle (diese wiederum gibt es dann mit unterschiedlichen Part Numbers, welche a) Farbe und b) Speicherplatz differenzieren):

Modell Regionen Mobilfunktechnologie Sonstiges
A1865 Global GSM & CDMA
A1901 USA, Europa, Asien GSM
A1902 Japan GSM (plus die japan-spezifischen LTE-Bänder 11, 21 und 44) Kamerageräusch kann nicht deaktiviert werden

Quelle: Differences Between iPhone X Models (A1865, A1901, A1902)

Beim iPhone X hat es Apple geschafft, die Zahl der Modelle auf drei Stück einzudampfen, was die Produktion vereinfacht. Vielleicht wird es Apple dereinst sogar hinkriegen, nur noch zwei Modelle herstellen zu müssen: Ein GSM- und ein CDMA-Telefon.

Zwei der drei verfügbaren Modelle können sowohl in den USA als auch in Europa verwendet werden. Wer mit dem Gedanken spielt, sein iPhone jemals in einem Land mit CDMA-Netzwerken einzusetzen (bspw. mit Verizon in den USA), kauft sich in den USA das A1865 (ohne SIM-Lock). Alle anderen sollten mit der reinen GSM-Version glücklich werden (A1901).

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

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 22. November 2017

rsync über SSH verwendet auf dem Zielsystem die falsche rsync-Version

Die Migration von meinem Mac mini auf einen iMac 27″ Retina schreitet stetig voran. Die Daten habe ich dazu mit rsync über Gigabit-Ethernet vom Mac mini auf den iMac rüberkopiert.

Der Befehl sah ungefähr so aus:

$ rsync --protect-args -avz -e ssh . mario@domain.tld:/tmp

Bei einem besonderen Verzeichnis trat (ungefähr) folgende Fehlermeldung auf (ich habe sie leider nicht festgehalten):

rsync: on remote machine: --extended-attributes: unknown option
rsync error: syntax or usage error (code 1) at /SourceCache/rsync/rsync-45/rsync/main.c(1333) [server=2.6.9]
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.1]

Nach etwas Googlen realisiert ich, dass auf dem Zielsystem (dem iMac) zwar MacPorts mitsamt dem neuesten rsync längst installiert waren (/opt/local/bin/rsync mit rsync version 3.1.2 protocol version 31), über den ssh-Tunnel stattdessen aber das alte, von Apple mitgelieferte Binary verwendet wurde (/usr/bin/rsync mit rsync version 2.6.9 protocol version 29).

Der Grund: Wenn rsync einen SSH-Tunnel aufbaut, werden die üblichen Initialisierungsfiles von bash nicht geladen und somit auch die MacPorts-Pfade (/opt/local/...) nach Binaries abgesucht.

Abhilfe schafft man, indem man dem lokalen rsync mit dem Argument --rsync-path sagt, wo sich die gewünschte Binary befindet:

$ rsync --rsync-path=/opt/local/bin/rsync -av -e ssh . mario@domain.tld:/tmp

Quelle: How can I set environment variables for a remote rsync process?

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

Keine Kommentare | neuen Kommentar verfassen