Safari blockiert Plugin ohne entsprechenden Hinweis?

Safari blockiert Plugins wie Flash und Java. Normalerweise bekommt man einen entsprechenden Hinweis:

es sei denn, man hat diesen Hinweis explizit deaktiviert. Manchmal erscheint der Hinweis allerdings nicht, und keiner weiß, warum. Eine erste Beobachtung: Wenn ich in den Entwicklertools (oder wie auch immer das beim Safari heißt) die Höhe des SWFs von 100% auf 99% ändere, dann erscheint der Hinweis. Vielleicht liegt’s an den 100%? Aber nein, steht das SWF schon beim Laden auf 99%, bleibt der Fehler. Es muss also am Repaint liegen, der durch die Änderung in den Entwicklertools ausgelöst wird.

Deshalb, die Lösung: Eine Millisekunde Verzögerung zwischen Seitenaufbau und Rendering des SWF

Plus: Safari scheint die Seite nach Freischaltung des Plug-Ins aus seinem Cache zu ziehen und dann irgendwie durcheinander zu kommen. Deshalb setze ich die folgenden Header für die Seite:

Dann geht’s.

Ich weiß, warum ich froh bin, mich mit diesem Crossbrowser-Gedöns nicht mehr (allzu oft) beschäftigen zu müssen m(

OS X: Seitenleiste zurücksetzen

Manchmal passiert es, dass man manuelle Einträge in der OS X-Seitenleiste (rot markiert) nicht mehr löschen kann. Dann muss man ~/Library/Preferences/com.apple.sidebarlists.plist löschen und den Rechner neu starten (den Finder neu zu starten hat bei mir nicht gereicht)

Achtung: Dabei gehen auch alle Einstellungen der Seitenleiste verloren!

Firefox 4 an OS X-Optik anpassen

Pünktlich zum Launch von FF 4: Eine Anleitung zum Entfernen der Favicons, verschieben des Close-Buttons, Stylens der Adress-Bar und der Suche, etc:

das Ganze kommt nach

~/Library/Application Support/Firefox/Profiles/xxxxxxx.default/chrome/userChrome.css

via

Flash auf iOS, 2

7 Tage, 7 Posts, 6: Eine Kurzanleitung zum Open Screen Project Manager. Ich setze den vorherigen Post zum Thema voraus. Desweiteren wird benötigt:

Dann kann’s losgehen. Der Open Screen Manager ist eine AIR-Anwendung, die ein Projekt-Template für FDT installiert. Ein solches Projekt erzeugt ein Standard-Projekt, ergänzt um die folgenden Ordner:

  • bin: Das Export-Verzeichnis für alle Open Screen Formate
  • bin/ios: Das Export-Verzeichnis für iOS-Apps
  • bin/resources: Hier können externe Inhalte (Bilder, XMLs, …) abgelegt werden, die die Anwendung nachladen kann. ACHTUNG: SWFs dürfen keine Logik enthalten 🙁
  • build: Einstellungen und Ant-Skripte
  • build/core: Enthält zentrale Skripte plus einiger Pfadangaben. Kann im Einzelfall geändert werden, muss aber normalerweise nicht.
  • build/device: Enthält Settings für jedes unterstütze Gerät. Muss normalerweise nicht geändert werden
  • build/*.properties: Wichtige Settings, die manuell geändert werden können, aber normalerweise durch einen Dialog geändert werden:
  • build/project.osp: Per Doppelklick zu öffnender Dialog zum Setzen der wichtigsten Einstellungen

Diese Einstellungen sind die folgenden:

  • Project-Settings, Name: Dieser Name wird später auch am Icon der Anwendung auf dem iPad-Desktop stehen.
  • Project-Settings, Identifier for Distribution: Zum Beispiel com.example.myApp
  • Project-Settings, File name: Das SWF
  • Project-Settings, SWF Content: Der Name des SWF ohne Suffix (?)
  • Project-Settings, Main class: Die zu startende Klasse in dem SWF
  • Device-Settings: Hier ist die iOS-Plattform auszuwählen, also iPad, iPhone, …
  • Plattform-Settings, iOS certificate file: Das Zertifikat des Entwicklers – wichtig: als .p12-Datei
  • Plattform-Settings, iOS certificate password: Das Passwort, mit dem die .p12-Datei verschlüsselt wurde
  • Plattform-Settings, iOS Provision file: Das Provisioning-File
  • Plattform-Settings, iOS Adobe Packager (pfi): etwa ../../packagerforiphone/bin/pfi, aus dem erwähnten Paket

Kompiliert wird über Ant (/build/build.xml). Achtung: Das Skript wird basierend auf dem oben ausgewählten Device erstellt. Wenn dort nichts eingetragen ist, ist das Skript leer. Falls der Task fehlerfrei durchläuft, sollte unter bin/ios/ipad/ eine .ipa-Datei mit dem unter Project-Settings/SWF Content eingetragenen Namen erscheinen. Diese kann man dann via iTunes installieren 🙂

Flash auf iOS, 1

7 Tage, 7 Posts, 5: Eine Kurzanleitung zum Open Screen Project Manager. Hier der vorbereitende Teil:

  1. Man besorge sich einen iOS-Developer Account.
  2. Man logge sich ein.
  3. Man gehe zum iOS Provisioning Portal (rechts in der Navi)
  4. Man gehe zu “Devices”, und richte (zum Beispiel) sein iPad ein. PS: Die UDID (“Device ID”) findet man, wenn man in iTunes auf der Übersicht der Geräteeigenschaften auf die Seriennummer klickt. Diese wird dann zur UDID^^
  5. Man gehe zu “App IDs” und trage die folgenden Informationen ein: Description (Fließtext), “Bundle Seed ID” (die App-ID, unter der man mehrere Apps bündeln möchte – optional), “Bundle Identifier” (zum Beispiel com.example.myApp)
  6. Man gehe zu “Certificates” und lege einen neuen “Team Member Account” an (man beachte dabei das “Howto”, ganz rechts). Das ist wichtig, der aktuelle Account dient nur zu administrativen Zwecken. Auch wichtig: Erst nach der Verifizierung per Email erscheint der neue Account unter “Team Member Certificates”
  7. Man gehe zu Provisioning und verknüpfe App-ID(s), Entwickler und Device(s)
  8. Man lade sich das resultierende Provisioning-Profile runter

iPad: Fehlermeldung bei Installation einer App

Wer einen der obigen (oder einen ähnlichen) Fehler hat, und auf den Button “Weitere Informationen” klickt, dem sein Browser wird geöffnet, und wird vermutlich einen 404 bekommen. Der Grund? OS X ist auf Deutsch eingestellt – sonst wäre die Meldung nicht Deutsch. Die Webseite checkt aber die eingestellte Sprache, und versucht zu einer lokalisierten Version der gewünschten Seite zu verlinken. Die es nicht gibt.

Ja, richtig, kein Witz: Wenn man sein OS X in den Systemeinstellungen auf Englisch umstellt, dann geht der Button. Und man landet auf http://support.apple.com/kb/TS1702

Danke, Apple.