iOS: “Failed to load resource: cannot parse response”

Die Meldung

Failed to load resource: cannot parse response

bzw.

Parsen der Antwort nicht möglich

beim Aufruf von Webseiten kann darauf zurückzuführen sein, dass die verwendete iOS Version gzip nicht unterstützt. So gesehen in iOS 11, 12, 14 (ja: in 13 war es schon mal behoben).

Abhilfe für Spring:

Danke, Nils!

AIR Native Extensions mit FDT

AIR Native Extensions (ANE) erlauben das Verwenden von System-spezifischen Funktionen – hier das Gyroscope. Mit FDT 4.5 verwendet man sie wie folgt:

  1. Die .ane-Datei kopieren, und die Kopie in .swc umbenennen.
  2. Die .swc wie gewohnt in den Classpath einbinden.
  3. In den Projekteigenschaften -> “FDT Build Path” -> “Build Order” die SWC auswählen, und einen Haken bei “Use as Runtime Shared Code” setzen.
  4. Die Extension im Description-XML deklarieren: Entgegen der Vorlage der Powerflasher heißt der Knoten nicht <extension>, sondern <extensions>, und sieht für dieses Beispiel wie folgt aus:
    <extensions><extensionID>com.adobe.gyroscope</extensionID></extensions>
  5. Die .ane-Datei im Projekt ablegen, beispielsweise unter /bin/ane/
  6. Im Build-XML (das mit dem ADT-Compiler) folgende Zeilen hinzufügen:
    <arg value=”-extdir” />
    <arg value=”../bin/ane” />
  7. Kompilieren 🙂

Tipp, Quelle 1, Quelle 2 (PDF)

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/2.

Ich habe Feuer gemacht!

Ich habe Feuer gemacht:

Will man per Open Screen Project Manager eine AS3-Anwendung kompilieren, so ist das relativ einfach. Tricky wird es,wenn man diese Anwendung auf dem iPad installieren will… Mit iTunes hatte ich die folgenden Fehlermeldungen:

  1. Die App “xy” wurde nicht auf dem iPad “abc” installiert, da der Signaturaussteller nicht gültig ist:
    Das falsche Zertifikat wird verwendet. Statt des “Your Certificate” musste ich ein “Team Member Certificate” benutzen.
  2. Die App “xy” wurde nicht auf dem iPad “abc” installiert, da die Berechtigungen nicht gültig sind:
    Der “Identifier for distribution” ist im Open Screen Manager, Reiter “Project”, falsch eingetragen. Dort darf NICHT die komplette App ID stehen, sondern nur der “Bundle Identifier”, also ohne “Bundle Seed ID” stehen. In anderen Worten: Dort darf nur “com.yourDomain.yourApp” stehen, NICHT “ABC1234XYZ.com.yourDomain.yourApp”
  3. “The app “xy” was not installed on the iPad “abc” because the entitlements are not valid:
    Der gleiche Fehler wie 2., vergleiche hier.

Man kann übrigens auch Xcode nutzen, um die App zu installieren. Die Fehlermeldung aus 2. lautet dann: “The executable was signed with invalid entitlements. The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile. (0xE8008016).”

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.

“Open Screen Project”-Manager für FDT 4.1

https://www.youtube.com/watch?v=8n6jDLz4Im8

Das Open Screen Project hat sich viel vorgenommen:

Enable consumers to engage with rich Internet experiences seamlessly across any device, anywhere.

Dies für FDT 4 umzusetzen ist das Ziel des “OpenScreen Project Managers”: Ein Project-Template, das im Grunde nur eine Sammlung von Ant-Skripten plus einer Oberfläche zum Administrieren dieser Skripte mitbringt. Man kommt trotzdem nicht drumrum, zum Beispiel für iOS-Veröffentlichungen den ganzen Overhead (Login benötigt!) zu erledigen, aber trotzdem: Hat man das ganze erst mal durchschaut, ist es komfortabler als die Konsole 😉

PS: Danke an Björn!