2017-08-23 2 views
0

Ich habe ein iOS 9+ Projekt, das sowohl Google Analytics als auch Firebase für Analytics verwendet.iMessage: Nur die Google/Analytics-Pod-Abhängigkeit verursacht eine _NSXPCDistantObject-Ausnahme

Dieses Projekt hat auch eine iMessage-Erweiterung. Die Erweiterung wird für iOS gezielte 10,0

Wenn ich die GA-Pods in meinem pod-Datei wie folgt zu halten:

pod 'Google/Analytics' 
pod 'GoogleIDFASupport' 

Dann habe ich die beliebte, gefürchtete Ausnahme beim Start des ersten Controllers (Unterklasse von MSMessagesAppViewController) erhalten :

**[_NSXPCDistantObject _remoteViewDidBecomeReadyForDisplay]: unrecognized selector sent to instance** 

Dieser Fehler tritt in System Internals auf, und es gibt keine Stack-Ablaufverfolgung, die zu beliebigem Code zurückführt.

Außerdem: Ich habe alle GA-Code auskommentiert, einschließlich Protokollierung, Konfiguration und Initialisierung. Ich habe nur die GA-Pods, die mit dem Ziel verbunden sind und nicht einmal verwendet. Die Ausnahme besteht weiterhin.

Nun, wenn ich die GA-Pods auskommentieren, funktioniert alles gut, und der erste Controller wird geladen.

Mein GA Versionen von CocoaPods gezogen:

Using GoogleAnalytics (3.17.0) 
Using GoogleIDFASupport (3.14.0) 

Also ich bin mit der Wahl: den Teil, um mehr Zeit damit verbringen, für eine GA-Version, die mit einer iMessage Erweiterung funktionieren würde, oder migrieren meines Systems, das GA verwendet, um stattdessen Firebase Analytics zu verwenden.

Sie können dieses Problem mit einem brandneuen, leeren iMessage-Ziel reproduzieren, das einen Hello World-Hauptbildschirm startet und den GA Pod hinzufügt.

Versucht GA, sich in etwas in der Benutzeroberfläche einzuklinken, das nicht existiert?

Irgendwelche Vorschläge zu einer Lösung?

+0

Ist das Problem weiterhin bestehen bleiben, wenn Sie ersetzen 'Google/Analytics' mit' GoogleAnalytics' in Ihrem Podfile? – the4kman

+1

Sie haben Recht ... Ich habe es geprüft und der Unterschied zwischen Google/Analytics und GoogleAnalytics ist der erste, der ein paar Extras mitbringt: "Google", "GoogleInterchangeUtilities", "GoogleNetworkingUtilities", "GoogleSymbolUtilities", "GoogleUtilities". Als ich zu dem von Ihnen vorgeschlagenen wechselte, löschte es diese 5 Abhängigkeiten und jetzt wird die Erweiterung gestartet. – Alex

Antwort

1

Das Problem ist mit dem Pod selbst; Google ist veraltet. Ändern

pod 'Google/Analytics' 

zu

pod 'GoogleAnalytics' 
+0

Sie haben Recht, dies macht den Fehler weg. Ich müsste meinen Code umgestalten, da alle APIs in der neuen Version anders aussehen. Wir sind gerade dazu übergegangen, Firebase zu verwenden. Dies ist die empfohlene Lösung für die Zukunft. – Alex

Verwandte Themen