ios8 Photo Editing Erweiterungsprobleme

8

Ich habe eine App zum Bearbeiten von Fotos entwickelt und möchte eine Erweiterung für die Fotos App haben. Die Erweiterung funktioniert perfekt am Simulator und ohne Probleme.

Aber wenn ich versuche, es in meinem iPhone 6 zu laufen, erlebe ich zwei Probleme:

  1. Probleme mit den Bereitstellungsprofilen. Ich weiß, dass ich für eine Erweiterung eine neue AppID (namens app.myapp.com.extension und die Haupt-AppID app.myapp.com) und neue Bereitstellungsprofile benötigt. Ich habe zwei neue Provisioning-Prifles (eines für die Entwicklung und das andere für die Verteilung) mit der neuen AppID erstellt, aber wenn ich versuche, es auf dem Gerät auszuführen, wird dieser Fehler angezeigt:
  

Fehler: Eingebettete Binärdatei ist nicht mit dem gleichen Zertifikat wie der signiert   Eltern-App Überprüfen Sie die Codezeicheneinstellungen des eingebetteten binären Ziels   Passe die Eltern-App an. Embedded Binär Signing Zertifikat: - (Ad Hoc   Code signiert) Parent App Signing Zertifikat: iPhone Entwickler: Mauro   Vime (------------------)

Ich habe die Provisioning-Profile für die Entwicklung neu erstellt, um zu prüfen, ob diese für die Entwicklung und nicht für Ad-hoc-Anzeigen gedacht sind, aber ich habe immer noch die gleichen Probleme.

  1. Also habe ich versucht, den ipa aus der App zu exportieren und auszuführen. Die App läuft perfekt, aber die Erweiterung zeigt nur eine schwarze Ansicht, anstatt meiner Ansicht, die das Foto enthält. Dann überprüfte ich die Absturzprotokolle des Telefons und sah folgendes:
  

Ereigniskennung: 9E578D78-FAB7-419E-AB35-7BA7B0821AFA   CrashReporter Key: ae6bdea47a4e64b09a8fb7fa8599b5e23ceb5311 Hardware   Modell: iPhone7,2 Prozess: Erweiterung [2598] Pfad:
  /private/var/mobile/Containers/Bundle/Application/----------/------------/PlugIns/extension.appex/extension   Kennung: app.myapp.com.extension Version: 1   (1.0) Codetyp: ARM-64 (Native) Parent-Prozess:
  launchd [1] Datum / Uhrzeit: 2014-10-14 01: 29: 21.482 +0200 Start   Zeit: 2014-10-14 01: 29: 16.170 +0200 OS Version: iOS   8.1 (12B407) Berichtsversion: 105 Ausnahmetyp: EXC_CRASH (SIGABRT) Ausnahmeuntertyp: LAUNCH_HANG Ausnahmebedingungsnachricht: Der   Erweiterung brauchte zu viel Zeit, um den markierten Thread zu initialisieren   Backtrace nicht verfügbar Unbekannter Thread ist mit dem ARM-Threadstatus abgestürzt   (64-Bit):       x0: 0x0000000000000000 x1: 0x0000000000000000 x2: 0x0000000000000000 x3: 0x0000000000000000       x4: 0x0000000000000000 x5: 0x0000000000000000 x6: 0x0000000000000000 x7: 0x0000000000000000       x8: 0x0000000000000000 x9: 0x0000000000000000 x10: 0x0000000000000000 x11: 0x0000000000000000 x12: 0x0000000000000000   x13: 0x0000000000000000 x14: 0x0000000000000000 x15:   0 x 0000000000000000 x 16: 0 x 0000000000000000 x 17: 0 x 0000000000000000   x18: 0x0000000000000000 x19: 0x0000000000000000 x20:   0 x 0000000000000000 x 21: 0 x 0000000000000000 x 22: 0 x 0000000000000000   x23: 0x0000000000000000 x24: 0x0000000000000000 x 25:   0x0000000000000000 x26: 0x0000000000000000 x27: 0x0000000000000000
  x28: 0x0000000000000000 fp: 0x0000000000000000 lr:   0x0000000000000000       sp: 0x000000016fdb3b68 pc: 0x00000001200f9000 cpsr: 0x00000000 Binärbilder: 0x1200f8000 - 0x12011ffff dyld arm64    / usr / lib / dyld

Hier steht, dass die App in einem 8.1-Gerät lief, aber ich habe es auch in 8.0.2 iOS versucht und das gleiche Problem tauchte auf. Nach dem Anzeigen der Nachricht: "Die Erweiterung benötigte zu viel Zeit zum Initialisieren", habe ich nur die Funktionen viewDidLoad und viewWillAppear gelöscht, sodass sie keinen Code ausführen, das Problem jedoch weiterhin besteht.

Gibt es jemanden, der diese Probleme erlebt hat und eine Lösung hat?

    
maurovime 14.10.2014, 14:32
quelle

3 Antworten

0

Könnte es sein, dass Sie keine 64-Bit-Architektur verwenden (für Erweiterungen erforderlich)? Siehe den "Hinweis zur 64-Bit-Architektur" in Apples App Extension Programmierhandbuch .

    
Mike Swanson 02.11.2014 00:26
quelle
0

Stellen Sie sicher, dass Architekturen und gültige Architekturen arm64 und Nur aktive Architektur erstellen enthält Nein für die verwendete Konfiguration (debug / release).

Wir hatten Build Active Architecture Only auf Yes gesetzt, so dass Jenkins nur armv7-Binärdateien erstellte (obwohl xcode je nach angeschlossenem Gerät eine korrekte Binärdatei erstellte). Es scheint, dass armv7-Anwendungen auf arm64-Geräten gut funktionieren, aber armv7-App-Erweiterungen können nicht mit einem seltsamen Fehler geladen werden. "Die Erweiterung benötigte zu viel Zeit für die Initialisierung" . Nach dem Fixieren von Build Active Architect Only wird die Einstellung fat binary erstellt (armv7 + arm64) und die Erweiterung funktioniert einwandfrei.

    
reqzix 22.01.2015 10:57
quelle
0

Ich habe beide Probleme gehabt:

Bei dem Code-Signing-Problem glaube ich, dass es einen Fehler in Xcode gibt, der sich auf das Hinzufügen von App-Erweiterungszielen bezieht. Das hat mich anfangs durcheinander gebracht und ich habe diesen Fehler bekommen. - Sie müssen die Bereitstellungsprofile für die App und die App-Erweiterung im Developer Center entfernen und neu generieren. - Wenn Sie eine App-Gruppe zum Freigeben von Informationen verwenden, entfernen Sie sie aus den Funktionen und dem Entwicklungscenter, und aktivieren Sie sie im Abschnitt "Funktionen" erneut.

Für das Problem LAUNCH_HANG scheint es ein endliches und kleines (undokumentiertes) Fenster zu geben, damit eine Erweiterung vollständig geladen werden kann, bevor iOS es aufgibt. - Überprüfen Sie den gesamten Code, der mit Ihrer Erweiterung verknüpft ist. Gib nichts ein, was du nicht unbedingt brauchst.

Mein besonderes Problem war, dass ich eine Podspec für mein Erweiterungsziel hinzugefügt habe. Ich habe das Ziel für meine Haupt-App kopiert und nicht bemerkt, dass ich Flurry in die Erweiterung aufgenommen habe. Nichts ist falsch mit Flurry, aber es ist eine große statische Bibliothek, die im Speicher zugeordnet werden musste, als die Host-App meine Erweiterung startete. Entfernt das und der Fehler ist weg.

    
Dan Loughney 03.06.2015 13:15
quelle

Tags und Links