Facebook-sdk-for-unity: Absturz beim Start unter iOS – [FBSDKGraphRequestConnection errorFromResult:request:]

Erstellt am 28. Dez. 2018  Â·  131Kommentare  Â·  Quelle: facebook/facebook-sdk-for-unity

Ich verwende das SDK nur fĂŒr Analysen. Ich bekomme seltene AbstĂŒrze beim App-Start fĂŒr einige unserer Benutzer (Unity 2018.2.19 und iOS 12.1) nur auf 4G (funktioniert gut mit WLAN) . Xcode-Absturzprotokolle zeigen:

image

Zuerst dachte ich, es lÀge daran, dass FB nicht richtig initialisiert wurde, aber ich benutze
private void Awake() { if (FB.IsInitialized) { FB.ActivateApp(); } else { FB.Init(FB.ActivateApp); } }
Und ich ĂŒberprĂŒfe, ob FB initialisiert wurde, bevor ich ein Analyseereignis protokolliere.

Ich bin mir nicht sicher, ob ich etwas falsch mache oder ob das ein Bug ist. WĂŒrde mich so oder so ĂŒber ein Feedback freuen.

Danke!

Hilfreichster Kommentar

@sharonreytan Freut mich , Ihnen helfen zu können!

Alle 131 Kommentare

Ich erhalte genau dieses Problem jedes Mal, wenn ich auf meinem iPhone 6s starte. Es passierte nicht mit der 7.14.1-Version des SDK, nur 7.15.0. Das bedeutet, dass ich mein Spiel ĂŒberhaupt nicht testen kann, ohne zu einer Ă€lteren Version des SDK zurĂŒckzukehren (von der ich anscheinend keine Ereignisse erhalten habe – daher habe ich ein Upgrade durchgefĂŒhrt). WĂŒrde mich auch ĂŒber Feedback freuen, wenn jemand weiß, was falsch sein könnte!

Von Xcode scheint der Fehler zu sein: NSInvalidArgumentException: +[NSError fbErro rWithCode:userInfo : message:underlyingError :]: Unrecognized selector sent to class 0x257dd4f80

Gibt es Neuigkeiten zu diesem Thema? Wir bekommen den Absturz auch ohne Aufrufen der API, nur weil wir sie als Teil des Projekts haben. Wir mĂŒssen das SDK vorerst komplett entfernen ...

Ich bin mir nicht sicher, ob es hilfreich sein wird, aber es stellt sich heraus, dass mein Problem durch das Unterbrechen des FacebookSettings-Objekts verursacht wurde, als ich das SDK aktualisierte. Ich habe es gerade gelöscht und neu erstellt und jetzt funktioniert alles wieder.

Hey @NumaNumaNuma @BlazingGillian , FB Unity SDK v7.15.1 wurde veröffentlicht und das Problem sollte behoben sein.

Hallo @KylinChang , leider habe ich auf die neueste Version aktualisiert und das Problem tritt immer noch auf, die App stĂŒrzt jedes Mal beim Start ab. (Es passierte ĂŒbrigens auch mit 7.14.1).

Hallo @NumaNumaNuma , danke fĂŒr deinen Bericht. Können Sie weitere Details zu dem von Ihnen verwendeten iOS-GerĂ€t, der iOS-Version und vielleicht mehr Stack-Traces bereitstellen?

Ich habe es auf einer Mischung aus iPhones und iPads mit iOS 11.4, 12 und 12.1 gesehen, daher bin ich mir nicht sicher, ob es mit dem GerĂ€t zusammenhĂ€ngt (iPad Pro 11 "2018, iPhone X, iPhone XR, iPhone XS Max). Eine interessante Sache ist fĂŒr die Betroffenen, dass es im WLAN gut funktioniert, aber in 99% der FĂ€lle im Mobilfunk abstĂŒrzt. Was Stack-Traces betrifft, habe ich nichts außer den von xcode gemeldeten Absturzprotokollen (Hunderte desselben Absturzprotokolls). Kann ich Ihnen die .xccrashpoint-Datei per E-Mail zusenden?

@NumaNumaNuma , sicher, Sie können mir eine .xccrashpoint-Datei per E-Mail senden. Danke fĂŒr deinen erneuten Bericht!

@KylinChang Danke, gesendet.

Ich habe versucht, die SDK-Beispielszene AppEvents als Test zu verwenden, um auszuschließen, dass etwas durch mein Projekt verursacht wird, und es stĂŒrzt auch ab. Ich habe der Szene außer diesem Skript nichts hinzugefĂŒgt, um das SDK zu initialisieren, das ich auf einem Spielobjekt in der Szene platziert habe (die Beispielszene hatte standardmĂ€ĂŸig keinen Init-Code). Eine Sache, die mir aufgefallen ist, ist, dass ich eine Warnung erhalte, wenn ich init zweimal aufrufe (in Awake und in OnApplicationPause), nicht sicher, ob das ein Problem ist?

`
öffentliche Klasse AnalyticsManager: MonoBehaviour
{

    void Awake()
    {
        base.Awake();
        InitFBSDK();
    }

    public void InitFBSDK()
    {
        if (!FB.IsInitialized)
        {
            // Initialize the Facebook SDK
            FB.Init(InitCallback);
        }
        else
        {
            // Already initialized, signal an app activation App Event
            FB.ActivateApp();
        }
    }

    public void InitCallback()
    {
        if (FB.IsInitialized)
        {
            // Signal an app activation App Event
            FB.ActivateApp();
        }
        else
        {
            Debug.Log("Failed to Initialize the Analytics SDK");
        }
    }

    private void OnApplicationPause(bool pauseStatus)
    {
        // Check the pauseStatus to see if we are in the foreground
        // or background
        if (!pauseStatus)
        {
            //app resume
            if (FB.IsInitialized)
            {
                FB.ActivateApp();
            }
            else
            {
                //Handle FB.Init
                FB.Init(InitCallback);
            }
        }
    }

}`

Wir sehen das gleiche Problem, außer fĂŒr unsere Benutzer scheint es, dass das Deaktivieren von WLAN und das Übergehen von 4G funktioniert. Vielleicht ist es nur etwas mit einer Änderung der Netzwerkverbindung, die es vorĂŒbergehend behebt?

Ich denke, was am schnellsten/langsamsten ist, verursacht Probleme zur Initialisierungszeit. Hoffentlich findet Kylin etwas in meinen LogsđŸ€ž.

@KylinChang Lass es mich wissen, wenn du auch unsere Absturzprotokolle haben möchtest.

Hallo @NumaNumaNuma @kuljaninemir , ich denke, Sie können das Flag -ObjC im exportierten xcode-Projekt hinzufĂŒgen, um das Problem zu beheben. Ich werde dieses Problem offen halten und bitte lassen Sie mich wissen, ob es immer noch mit der Flagge abstĂŒrzt. Zu Ihrer Information, hier ist ein Link zum HinzufĂŒgen des Flags http://docs.onemobilesdk.aol.com/ios-ad-sdk/adding-objc-linker-flag-xcode.html

@KylinChang Danke, ich habe versucht, das Flag hinzuzufĂŒgen, aber es verursacht einen Linkfehler:
/Libraries/Plugins/iOS/libQuantumCore.a(QuantumCore.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. file '/Libraries/Plugins/iOS/libQuantumCore.a' for architecture arm64
Ich könnte Bitcode deaktivieren, aber ich möchte es lieber nicht. Gibt es eine Möglichkeit, dies zu umgehen?
Bearbeiten: Ich werde Bitcode deaktivieren und meinem Patienten 0 senden, um zu sehen, ob das Problem behoben ist.

Alles ist gut auf meiner Seite und Benutzer berichteten, dass das Problem weg ist. Ich werde eine Version in die Welt hinausschicken und wenn sich niemand beschwert, können wir es als behoben bezeichnen! @kuljaninemir ist es bei dir auch behoben?

Ich habe leider keinen Kontakt zu einem Patienten 0, also muss ich ein Update damit machen und sehen, ob die AbstĂŒrze aufhören.

Keine AbstĂŒrze bisher, ich denke es ist behoben! Danke @KylinChang

Scheint auch fĂŒr uns zu funktionieren, danke @KylinChang

Ich habe das gleiche Problem mit meiner App. Version 7.15.1
Werde versuchen, die nÀchste Version mit dem Flag -ObjC hochzuladen. Entschuldigung, vielleicht ist das eine blöde Frage, aber warum sind diese Informationen nicht in der Anleitung zur SDK-Integration enthalten?

Warum nicht einfach ein Nachbearbeitungsskript zum Unity SDK hinzufĂŒgen?

[PostProcessBuild]
public static void OnPostprocessBuild(BuildTarget buildTarget, string path)
{
    if (buildTarget == BuildTarget.iOS)
    {
        string projPath = PBXProject.GetPBXProjectPath(path);

        PBXProject proj = new PBXProject();
        proj.ReadFromString(File.ReadAllText(projPath));
        string targetName = PBXProject.GetUnityTargetName();
        string targetGUID = proj.TargetGuidByName(targetName);

        proj.AddBuildProperty(targetGUID, "OTHER_LDFLAGS", "-ObjC");

        File.WriteAllText(projPath, proj.WriteToString());
    }
}

Ja bitte, das habe ich letztendlich getan, aber fĂŒr andere fĂŒgen Sie es bitte dem Post-Build-Prozess hinzu.

Ich stoße auf genau das gleiche Problem.
Was Sie hier erwĂ€hnt haben, das HinzufĂŒgen von -ObjC, hat fĂŒr das iPhone funktioniert, aber Apple hat meine BinĂ€rdateien wegen eines Absturzes auf einem iPad mit IOS 12.1.4 abgelehnt.
Kann jemand bitte Licht ins Dunkel bringen? Ich kann das nicht herausfinden.
In dem Moment, in dem ich in den Mobilfunk- / Flugmodus gehe / das Facebook-SDK entferne, ist der Fehler weg.
Auf Android funktioniert alles einwandfrei.

@sharonreytan Hast du die oben genannte Lösung ausprobiert?
Verwenden Sie andere Analyselösungen?

Ja, ich habe das Flag -ObjC hinzugefĂŒgt. Es löste das Problem auf meinem iPhone mit iOS 12.1.4, mit dem ich teste, aber Apple lehnte meine App ab und sagte, dass sie beim Laden auf einem iPad mit iOS 12.1.4 im WLAN abstĂŒrzt.
Ich verwende das Game Analytics SDK zusÀtzlich zum Facebook SDK.
Der Fehler kommt sicher vom Facebook SDK, es ist derjenige, der die Ausnahme auslöst, die meine App zum Absturz bringt. Auch wenn ich es entferne, funktioniert alles gut, keine AbstĂŒrze.
Ich verwende Unity 2018.3.3, Facebook SDK 7.15.1 und xcode 10.1.
Der Fehler tritt nur auf, wenn das WLAN verbunden ist, mit diesem Flag tritt er auf iPads auf, aber nicht auf iPhones. es ist nicht etwas in meinem Code.

@KylinChang Kannst du hier helfen? Wissen Sie, ob ein Update von Facebook kommt?

@sharonreytan kannst du die Ausnahme hier posten?

Ich werde bei Apple nach dem Crash-Log fragen. Vielen Dank an alle im Voraus! :)

Ich schlage vor, dass Sie Ihre App mit einer Plattform verbinden, die die AbstĂŒrze erfasst, wie Unity Analytics oder Firebase Crashlytics. Unity Analytics ist nur einen Schalter entfernt. Selbst wenn Sie diesen Absturz beheben, wird es wahrscheinlich nicht der einzige sein, den Sie jemals haben werden. https://unitytech.github.io/clouddiagnostics/UnityCloudDiagnosticsSettingUp.html

Ich habe so etwas, aber es fÀngt diese Ausnahme nicht ab. Ich denke, es wird auf die Wrapper-Ebene von Unity geworfen (das Swift-Zeug, das solche Dinge wie Netzwerke handhabt ... das bezieht sich auf das Betriebssystem).

Sie können die AbstĂŒrze auch sehen, wenn Sie zu XCode -> Window -> Organizer -> Crashes (ganz oben neben Archives) gehen. Wenn sie symbolisiert sind, versuchen Sie dies, um sie lesbar zu machen https://www.youtube.com/ ansehen?v=kBA7H_uYf34

Das Problem ist, dass ich den Fehler lokal nicht reproduzieren kann, da ich kein iPad habe, sondern nur ein iPhone.
Apple hat mich auf dieses Problem aufmerksam gemacht. Wie gesagt, auf meinem iPhone funktioniert alles gut mit dem Flag -ObjC. Das Problem besteht weiterhin fĂŒr iPads im WLAN, und ich kann dies nicht mit dem Simulator simulieren

Das Problem ist, dass ich den Fehler lokal nicht reproduzieren kann, da ich kein iPad habe, sondern nur ein iPhone.
Apple hat mich auf dieses Problem aufmerksam gemacht. Wie gesagt, auf meinem iPhone funktioniert alles gut mit dem Flag -ObjC. Das Problem besteht weiterhin fĂŒr iPads im WLAN, und ich kann dies nicht mit dem Simulator simulieren

Der Organizer zeigt alle AbstĂŒrze einer bestimmten Version an. https://8mobile.wordpress.com/2015/02/27/xcode-crashes-organizer/

Das ist großartig. Danke. Ich werde das hinzufĂŒgen

@sharonreytan kannst du den Absturzbericht bitte so schnell wie möglich teilen? Ich halte meine Build-Veröffentlichung wegen dieses Problems tatsĂ€chlich zurĂŒck.

Ja sicher. Ich hÀnge auch an meiner Entlassung

Ja sicher. Ich hÀnge auch an meiner Entlassung

Hast du die Absturzberichte gefunden?

Noch nicht, es ist ein Nebenprojekt von mir

Hier der gleiche Absturz :(

@pmusolino Kannst du bitte den Absturzbericht posten?

@sharonreytan Es passiert zufÀllig. Wenn es das nÀchste Mal passiert, werde ich es posten

Ich habe ein leeres Projekt in Unity geöffnet.
Es fĂŒgte einen einfachen 3D-WĂŒrfel und ein Partikelsystem hinzu.
Ich habe das Facebook SDK und das GameAnalytics SDK mit meinen ursprĂŒnglichen App-Details integriert.
Der Fehler bleibt bei dieser einfachen App bestehen - nur bei WLAN gehen die Dinge schief und ich bekomme einen Absturz. Das ist genau derselbe Absturz, den ich bei der App hatte, die ich zu veröffentlichen versuche.
Der Fehler bleibt auch dann bestehen, wenn ich das GameAnalytics SDK entferne
Ich verwende Unity 2018.3.3, Facebook SDK 7.15.1 und Xcode 10.1.
Das ist das Absturzprotokoll:

2019-03-26 22:31:37.375996+0200 Jumpy[2798:888564] [DYMTLInitPlatform] Plattforminitialisierung erfolgreich
26.03.2019 22:31:37.440830+0200 Jumpy[2798:888345] Erstellt aus dem Zweig „2018.3/staging“, Version „2018.3.3f1 (393bae82dbb8)“, Build-Typ „Release“, Skript-Backend „il2cpp“
2019-03-26 22:31:37.446308+0200 Jumpy[2798:888345] -> registrierte Monomodule 0x1035eb250
-> applicationDidFinishLaunching()
2019-03-26 22:31:39.096573+0200 Jumpy[2798:888345] Metal GPU Frame Capture aktiviert
2019-03-26 22:31:39.098086+0200 Jumpy[2798:888345] Metall-API-Validierung deaktiviert
2019-03-26 22:31:39.328250+0200 Jumpy[2798:888345] [Warnung] Der Versuch, delaysTouchesBegan auf einem System-Gate-Gestenerkenner auf NO zu setzen – dies wird nicht unterstĂŒtzt und hat unerwĂŒnschte Nebenwirkungen
-> applicationDidBecomeActive()
GfxDevice: GerÀte-Client erstellen; eingefÀdelt = 1
Metall-GerÀtekappen werden initialisiert: Apple A11 GPU
Engine-Version initialisieren: 2018.3.3f1 (393bae82dbb8)
2019-03-26 22:31:39.653020+0200 Jumpy[2798:888616] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: Unbekannte ausgewĂ€hlte Datenquelle fĂŒr Port ŚšŚžŚ§Ś•Śœ (Typ: Lautsprecher)
2019-03-26 22:31:39.740801+0200 Jumpy[2798:888616] [avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: Unbekannte ausgewĂ€hlte Datenquelle fĂŒr Port ŚšŚžŚ§Ś•Śœ (Typ: Lautsprecher)
2019-03-26 22:31:40.107347+0200 Jumpy[2798:888345] +[NSError fbErro rWithCode:userInfo : message:underlyingError :]: Unbekannter Selektor an Klasse 0x26fc19f80 gesendet
26.03.2019 22:31:40.152342+0200 Jumpy[2798:888345] Nicht erfasste Ausnahme: NSInvalidArgumentException: +[NSError fbErro rWithCode:userInfo : message:underlyingError :]: Unbekannter Selektor an Klasse 0x26fc19f80 gesendet
(
0 CoreFoundation 0x0000000235d21ebc+ 252
1 libobjc.A.dylib 0x0000000234ef1a50 objc_exception_throw + 56
2 CoreFoundation 0x0000000235c3fbbc+ 0
3 CoreFoundation 0x0000000235d277bc+ 1412
4 CoreFoundation 0x0000000235d2946c _CF_forwarding_prep_0 + 92
5 Jumpy 0x000000010315302c -[FBSDKGraphRequestConnection errorFromResult:request:] + 1720
6 Jumpy 0x00000001031519bc __64-[FBSDKGraphRequestConnection completeWithResults:networkError:]_block_invoke + 516
7 CoreFoundation 0x0000000235c074cc+ 216
8 Jumpy 0x00000001031516ec -[FBSDKGraphRequestConnection completeWithResults:networkError:] + 540
9 Jumpy 0x0000000103150a30 -[FBSDKGraphRequestConnection completeFBSDKURLSessionWithResponse:data:networkError:] + 940
10 Jumpy 0x000000010314ebc4 __36-[FBSDKGraphRequestConnection start]_block_invoke_2 + 80
11 libdispatch.dylib 0x00000002357596c8+ 24
12 libdispatch.dylib 0x000000023575a484+ 16
13 libdispatch.dylib 0x0000000235739b34+ 1012
14 CoreFoundation 0x0000000235cb1ce4+ 12
15 CoreFoundation 0x0000000235cacbac+ 1964
16 CoreFoundation 0x0000000235cac0e0 CFRunLoopRunSpecific + 436
17 GraphicsServices 0x0000000237f25584 GSEventRunModal + 100
18 UIKitCore 0x000000026300cc00 UIApplicationMain + 212
19 Jumpy 0x0000000102766650 Haupt + 160
20 libdyld.dylib 0x000000023576abb4+ 4
)
2019-03-26 22:31:40.153484+0200 Jumpy[2798:888345] * App wird wegen nicht erfasster Ausnahme „NSInvalidArgumentException“ beendet, Grund: „+[NSError fbErro rWithCode:userInfo : message:underlyingError :]: Unrecognized selector sent to Klasse 0x26fc19f80'* First-Throw-Call-Stack:
(0x235d21ea4 0x234ef1a50 0x235c3fbbc 0x235d277bc 0x235d2946c 0x10315302c 0x1031519bc 0x235c074cc 0x1031516ec 0x103150a30 0x10314ebc4 0x2357596c8 0x23575a484 0x235739b34 0x235cb1ce4 0x235cacbac 0x235cac0e0 0x237f25584 0x26300cc00 0x102766650 0x23576abb4)
libc++abi.dylib: Beendigung mit nicht abgefangener Ausnahme vom Typ NSException
(lldb)

Ich habe so ziemlich den gleichen Netzwerkfehler von Facebook mit meinem neuen Spiel:

2019-03-26 19:31:10.325566-0600 gamename[651:128389] +[NSError fbErro rWithCode:userInfo : message:underlyingError :]: Unbekannter Selektor an Klasse 0x228d7af80 gesendet
26.03.2019 19:31:10.380123-0600 gamename[651:128389] Nicht erfasste Ausnahme: NSInvalidArgumentException: +[NSError fbErro rWithCode:userInfo : message:underlyingError :]: Unbekannter Selektor an Klasse 0x228d7af80 gesendet
(
0 CoreFoundation 0x00000001ef9a5ebc+ 252
1 libobjc.A.dylib 0x00000001eeb75a50 objc_exception_throw + 56
2 CoreFoundation 0x00000001ef8c3bbc+ 0
3 CoreFoundation 0x00000001ef9ab7bc+ 1412
4 CoreFoundation 0x00000001ef9ad46c _CF_forwarding_prep_0 + 92
5 Spielname 0x0000000105ba3f2c -[FBSDKGraphRequestConnection errorFromResult:request:] + 1720
6 Spielname 0x0000000105ba28bc __64-[FBSDKGraphRequestConnection completeWithResults:networkError:]_block_invoke + 516
7 CoreFoundation 0x00000001ef88b4cc+ 216
8 Spielname 0x0000000105ba25ec -[FBSDKGraphRequestConnection completeWithResults:networkError:] + 540
9 Spielname 0x0000000105ba1930 -[FBSDKGraphRequestConnection completeFBSDKURLSessionWithResponse:data:networkError:] + 940
10 Spielname 0x0000000105b9fac4 __36-[FBSDKGraphRequestConnection start]_block_invoke_2 + 80
11 libdispatch.dylib 0x00000001ef3dd6c8+ 24
12 libdispatch.dylib 0x00000001ef3de484+ 16
13 libdispatch.dylib 0x00000001ef38a9a4+ 1068
14 CoreFoundation 0x00000001ef935ce4+ 12
15 CoreFoundation 0x00000001ef930bac+ 1964
16 CoreFoundation 0x00000001ef9300e0 CFRunLoopRunSpecific + 436
17 GraphicsServices 0x00000001f1ba9584 GSEventRunModal + 100
18 UIKitCore 0x000000021cb40c00 UIApplicationMain + 212
19 Spielname 0x0000000104dc01e0 Haupt + 160
20 libdyld.dylib 0x00000001ef3eebb4+ 4
)
(lldb)

Komischerweise passiert bei mir genau das Gegenteil. Mein Spiel funktioniert hervorragend ĂŒber WLAN, aber sobald ich 3G verwende, stĂŒrzt es ab. Der Absturzbericht von oben bezieht sich auf Data 3G auf einem iPhone SE mit iOS 12.2. Apple ließ es durch ÜberprĂŒfung ...

@KylinChang Kannst du bitte einen Blick darauf werfen? Dies ist ein schwerwiegender Fehler ... Ich kann mein Spiel deswegen nicht veröffentlichen. Apple lehnt meine BinÀrdateien ab.
Könnte es mit iOS > 12.1.4 zusammenhÀngen?

@elguero44 hast du das Flag -ObjC hinzugefĂŒgt?
Ich denke, Apple hat es mit Ihrer App versĂ€umt. Es scheint sogar beim einfachsten Projekt zu passieren. Es ist etwas auf dem FBSDK fĂŒr Unity.
Mein vorheriges Spiel wurde ebenfalls genehmigt und veröffentlicht, aber ich sehe, dass es auf iPads zu AbstĂŒrzen kommt. Es hatte auch das FBSDK

Sehen Sie das alle, seit ios 12.2 / XCode 10.2 diese Woche veröffentlicht wurde?

Ich habe es auch unter iOS 12.1.4 und Xcode 10.1 erlebt.
Ich zitiere Apfel:
„Wir haben bei der ÜberprĂŒfung auf einem iPad mit iOS 12.1.4 im WLAN einen oder mehrere Fehler in Ihrer App entdeckt.

Insbesondere wurde Ihre App mit einem schwarzen Bildschirm gestartet und es wurde keine weitere Aktion ausgefĂŒhrt."

Der schwarze Bildschirm ist der Unity-BegrĂŒĂŸungsbildschirm. Diese Version wurde mit dem Flag -ObjC zur ÜberprĂŒfung eingereicht

Hat jemand dieses Problem dem Facebook-Bugtracker gemeldet?

@oct-test habe ich nicht. Kannst du bitte? Ich bin im Moment weit weg von meinem Projekt ... Und sie brauchen einige Sachen, die ich gerade nicht sammeln kann

Vielen Dank

Hallo @oct-test @sharonreytan , Entschuldigung fĂŒr die spĂ€te Antwort. Ich werde das Problem untersuchen und Ihnen so schnell wie möglich antworten. Haben Sie die gleiche Ausnahme wie Uncaught exception: NSInvalidArgumentException: +[NSError fbErrorWithCode:userInfo:message:underlyingError:]: ? Kannst du wenn möglich ein Beispielprojekt hochladen?

Vielen Dank fĂŒr Ihre Kommentare und Hilfe zu diesem Thema!

@KylinChang Ja, das ist der Fehler. Ich möchte Ihnen helfen, das Problem zu lösen – es passiert auf iOS > 12.1.4, auf Facebook SDK fĂŒr Unity 7.15.1.
Auf einem iPhone hat -ObjC dieses Problem gelöst.
Auf iPads bleibt der Fehler im WLAN bestehen. Einige von uns haben es fĂŒr Mobiltelefone erlebt. Es passiert beim Laden, bevor wir FB.Init() aufrufen können.
Ich werde bald ein Beispielprojekt hochladen.
Vielen Dank, dass Sie das Problem erneut aufgegriffen haben

https://drive.google.com/open?id=1aLdPTQyiqpCJf1bMyOGjLeOPg2D8NjZx

Tut mir leid, dass es nicht auf Git ist.
Es ist ein einfaches Projekt mit einem WĂŒrfel, einem Partikelsystem und Facebook SDK 7.15.1, das in meine App-ID integriert ist.
Beachten Sie, dass das Unity-Projekt den Bundle-Namen meiner App enthĂ€lt. Ändern Sie es nach Belieben.
Unity-Version ist 2018.3.3.

Welche Version sollten wir in der Zwischenzeit verwenden?

@elguero44 hast du das Flag -ObjC hinzugefĂŒgt?
Ich denke, Apple hat es mit Ihrer App versĂ€umt. Es scheint sogar beim einfachsten Projekt zu passieren. Es ist etwas auf dem FBSDK fĂŒr Unity.
Mein vorheriges Spiel wurde ebenfalls genehmigt und veröffentlicht, aber ich sehe, dass es auf iPads zu AbstĂŒrzen kommt. Es hatte auch das FBSDK

Nein, ich habe kein ObjC-Flag hinzugefĂŒgt. Seltsam, dass dies das Verhalten vertauschen wĂŒrde ...

@elguero44 Nein, es behebt den Fehler auf meinem iPhone. Versuch es. Ich kann nicht auf einem iPad testen, aber dafĂŒr lehnt Apple mich ab.
Ich denke, dass ich vorerst nur fĂŒr iPhones veröffentlichen werde, bis das Problem behoben ist. Ich werde Sie auf dem Laufenden halten, ob Apple es genehmigt oder ablehnt

Nein, ich habe kein ObjC-Flag hinzugefĂŒgt. Seltsam, dass dies das Verhalten vertauschen wĂŒrde ...

Nach dem, was ich gesehen habe, passiert es entweder bei WLAN / 3G, je nachdem, welches langsamer / schneller ist, wo Sie sich befinden. Und fĂŒgen Sie auf jeden Fall das objC-Flag hinzu, es hat es vor ein paar Monaten fĂŒr mich behoben, aber jetzt mit all den letzten Posts mache ich mir Sorgen, dass das Problem mit dem neuen iOS / XCode zurĂŒck ist.
Warten auf weitere Informationen von KylinChang 👍

Ich denke, es hat etwas mit der Geschwindigkeit der Internetverbindung zu tun? Denn plötzlich geht es auch mal auf Daten...

@KylinChang Ich habe den Absturzbericht angehÀngt.
Crash Report

@sharonreytan Hast du zufĂ€llig ein Leerzeichen nach deiner App-ID im fb SDK-Bearbeitungseinstellungsfenster? Ich habe zufĂ€llig festgestellt, dass ich dort eines hatte, nachdem ich es entfernt hatte, war das Problem behoben, auch ohne das Flag -ObjC. Ich werde das ObjC-Flag dort lassen, nur fĂŒr den Fall.

@happypepper Oh nein, wenn es das Problem ist, werde ich mich so schlecht fĂŒhlen ... Ich werde das so schnell wie möglich ĂŒberprĂŒfen. Ich glaube nicht, dass dies der Fall ist, weil ich per Klick von der Facebook for Developers-Site kopiert habe, aber alles ist möglich. Haben Sie WLAN, Mobilfunk und Flugmodus ĂŒberprĂŒft und alles war in Ordnung? Ist es nur unter iOS abgestĂŒrzt? Auf welcher iOS-Version ist es passiert?

Ich habe auch von der FB-Entwicklerseite kopiert und eingefĂŒgt, aber irgendwie war das Leerzeichen enthalten. Ich habe WLAN und Mobilfunk ausprobiert, aber nicht den Flugmodus, beide waren in Ordnung. Mit dem Platz brach es im Mobilfunk, aber gut im WLAN. Ich habe nur am 12.1.2 getestet

@happypepper vielen Dank, dass du das geschrieben hast, ich werde prĂŒfen, ob das der Fall ist. Hoffentlich ist das das Problem

@happypepper Keine zusĂ€tzlichen Leerzeichen in der App-ID. StĂŒrzt immer noch ab.

schwer zu erklĂ€ren, wie es das Problem fĂŒr diesen Tag gelöst hat.

@happypepper Wie kann ich dir Blumen schicken???? Du hast mein Problem gelöst!!!! Danke!!
@oct-test @elguero44 @pmusolino
Ich hatte ein Leerzeichen in meinem App-Namen, ich habe es entfernt. Boom. Alles funktioniert gut, auch ohne das Flag -ObjC. Ich bin auf demselben WLAN, demselben GerĂ€t, demselben Betriebssystem, demselben fbsdk mit GameAnalytics auf Einheit, derselben Einheit, demselben Xcode, demselben Projekt ... Es war die einzige Änderung, die ich vorgenommen habe und jetzt funktioniert es wie ein Zauber bei jedem einzelnen Start ...

Ich hatte das gleiche Problem mit SDK 7.15.1
Das Problem scheint in der Datei FBUnityInterface.mm in dieser Zeile 114 zu liegen:
[FBUnityUtility sendMessageToUnity:FBUnityMessageName_OnInitComplete userData:userData requestId :0 ];

Wenn ich diese Zeile auskommentiere, funktioniert alles ohne Absturz

@happypepper Wie kann ich dir Blumen schicken???? Du hast mein Problem gelöst!!!! Danke!!
@oct-test @elguero44 @pmusolino
Ich hatte ein Leerzeichen in meinem App-Namen, ich habe es entfernt. Boom. Alles funktioniert gut, auch ohne das Flag -ObjC. Ich bin auf demselben WLAN, demselben GerĂ€t, demselben Betriebssystem, demselben fbsdk mit GameAnalytics auf Einheit, derselben Einheit, demselben Xcode, demselben Projekt ... Es war die einzige Änderung, die ich vorgenommen habe und jetzt funktioniert es wie ein Zauber bei jedem einzelnen Start ...

@sharonreytan Herzlichen GlĂŒckwunsch! Danke @happypepper. Ich werde den Grund weiter untersuchen und eine Warnung hinzufĂŒgen oder das Problem in der nĂ€chsten Version beheben.

@KylinChang danke! Lassen Sie uns bestĂ€tigen, dass die Fehler aller bei diesem Problem auch gelöst werden mĂŒssen. Das hoffe ich wirklich

@sharonreytan Freut mich , Ihnen helfen zu können!

Keine zusĂ€tzlichen Leerzeichen in der App-ID. StĂŒrzt immer noch ab.

Also @oct-test kein zusĂ€tzliches Leerzeichen + objC-Flag tut es immer noch nicht fĂŒr Sie?

@NumaNumaNuma @sharonreytan @KylinChang
Kein zusÀtzlicher Platz in der App-ID + objC-Flag = Problem nicht behoben

Ich kann die Ereignisse im Spiel im Facebook Analytics-Dashboard sehen. In meinem Fall stĂŒrzt der Build zufĂ€llig ab, wenn der Code versucht, ein Ereignis zu senden.

@oct-test Versuchen Sie, Ihren App-Namen in ein einzelnes Wort zu Àndern, etwa "Produktion", entfernen Sie das Client-Token, kopieren Sie die App-ID erneut und stellen Sie sicher, dass am Anfang und am Ende keine Leerzeichen vorhanden sind.
Stellen Sie sicher, dass Ihre Ereignismeldungen keine Leerzeichen enthalten.
Stellen Sie sicher, dass Ihre iOS-Bundle-ID im Facebook for Developers-Dashboard > Einstellungen > Basic korrekt ist.
In meinem Fall war der Absturz beim Laden, jetzt lÀuft es auch ohne dieses -ObjC-Flag gut, aber ich sende keine Ereignisse an fb. Nur initialisieren.
StĂŒrzt das Spiel beim Laden ab oder stĂŒrzt es im Spiel ab, wenn Sie ein Ereignis senden?

@sharonreytan

  1. Muss ich den App-Namen im Facebook-Dashboard oder im Xcode-Projekt Àndern? Können Sie mir bitte helfen zu verstehen, wie der App-Name dieses Problem möglicherweise verursachen kann?
  2. Wo finde ich das Client-Token?
  3. Ich habe ĂŒberprĂŒft und bestĂ€tigt, dass die App-ID kein zusĂ€tzliches Leerzeichen enthĂ€lt.
  4. Keine Leerzeichen in den Ereignismeldungen.
  5. Ja, die iOS-Bundle-ID ist im Facebook-Dashboard korrekt.
  6. Ja, das Spiel stĂŒrzt beim Laden und auch im Spiel ab. Aber dieser Absturz ist nicht kontinuierlich. Es passiert zufĂ€llig.

@oct-test

  1. Auf Unity > Facebook-Einstellungen
    Wenn Sie Unity nicht verwenden, dann wahrscheinlich im xcode.
    Ich nehme an, dass es einen Fehler im FBSDK gibt, dass es nicht mit Leerzeichen in seinen Eingabeparametern umgehen kann. Vielleicht gibt es eine Regex, die Ihre Zeichenfolge validiert und keine Leerzeichen akzeptiert ... Ich weiß es nicht. Es kann alles sein. Als Entwickler wissen Sie, dass Fehler Sie ĂŒberraschen und unerwartet kommen können. Wenn sie erwartet wĂŒrden, gĂ€be es niemals irgendwelche Fehler! Ich kenne die Ursache nicht, aber sie wird hoffentlich in einer zukĂŒnftigen Version behoben, aber versuchen Sie vorerst alles, was Sie können, um eine Problemumgehung zu finden.
  2. Auf Unity ist es im Facebook-Einstellungsinspektor

Vielen Dank fĂŒr die ErklĂ€rung.

  1. Der App-Name in den Facebook-Einstellungen ist ein optionales Feld nur fĂŒr unsere eigenen Zwecke. Ich denke, Facebook verwendet diese Informationen nicht.
  2. Ich habe es ĂŒberprĂŒft und dieses Feld wurde bereits entfernt.

Konntest du das Problem 100% mal reproduzieren? Wenn ja, welche Art von GerÀt (Modell und iOS-Version) und Netzwerkverbindung haben Sie den Build getestet?

@oct-test

  1. Ja, ich stimme zu, aber ein optionales Feld kann auch Dinge zum Absturz bringen. Das ist ein Fehler. Versuchen Sie alles, um es zu ĂŒberwinden. Es hat mir geholfen, dann könnte es dir helfen.
  2. ÜberprĂŒfen Sie jeden freien Text, den Sie können, und entfernen Sie Leerzeichen daraus.

Ich brauchte das -ObjC-Flag nicht mehr, ließ das Spiel auf Simulatoren laufen und schickte einen Testflug an Freunde. Es funktioniert perfekt auf ihren GerĂ€ten, mit WLAN, Mobilfunk oder Flugmodus. Auf meinem iPhone 8 lĂ€uft es auch problemlos. Vorher stĂŒrzte das Spiel sofort beim Laden ohne das -ObjC-Flag im WLAN ab. Jetzt lĂ€uft alles wie erwartet

@KylinChang @oct-test
Meine Feier war zu frĂŒh. Das Spiel wurde aus demselben Grund abgelehnt -

Auf einem iPad mit iOS 12.2 im WLAN stĂŒrzte das Spiel ab

Besser Apple fĂ€ngt es als Ihre Benutzer (das ist mir passiert). Wenn Sie vorĂŒbergehend darauf verzichten können, besteht auch die Möglichkeit, das SDK vollstĂ€ndig zu entfernen.
Ich werde mit meinen Veröffentlichungen warten, bis dies behoben ist.

Sicher. Glaubst du, ich kann nur fĂŒr iPhones veröffentlichen? Ich kann das SDK nicht aufgeben.
@NumaNumaNuma

Riskant :)

Das Hinauszögern Ihrer Freilassung ist keine Lösung. Dieses Problem scheint schon lĂ€nger zu bestehen. Mindestens 2 Jahre. Wir haben alle Releases seit 2017 durchgesehen und das Problem ist das gleiche. Es muss eine andere Lösung geben, die einige Entwickler versehentlich verwenden, um die AbstĂŒrze zu vermeiden.

FĂŒr mich war, sobald ich das objC-Flag hinzugefĂŒgt hatte, monatelang alles in Ordnung. Aber es scheint, dass das Problem wieder da ist, vielleicht wegen des neuen iOS?

Ich habe tatsĂ€chlich festgestellt, dass ich die ganze Zeit ein objC-Flag in meinem Projekt habe. Und habe das Problem immer noch. Ich habe auch meine Ă€lteren Projekte ĂŒberprĂŒft und sehe, dass meine Absturzrate nach einem Update auf fb sdk 4.38 erst kĂŒrzlich deutlich gesunken ist. Ich mache gerade einen Test mit Unity-Version 7.14.1, die diese Version von fb sdk enthĂ€lt. Werde berichten. Wir haben auch die Initialisierung auf die Startmethode verschoben (von der Wake-Methode).

Frage: Können wir in Xcode manuell auf das neueste FB-SDK aktualisieren und das mit dem Unity-SDK gelieferte ersetzen? Hat das jemand probiert?

FĂŒr mich war, sobald ich das objC-Flag hinzugefĂŒgt hatte, monatelang alles in Ordnung. Aber es scheint, dass das Problem wieder da ist, vielleicht wegen des neuen iOS?

Ich benutze ios 12.1.4 auf dem GerÀt habe ich selbst das Problem registriert.
Die verwendete Unity-Version ist: 2018.2.9

@elguero44 hat irgendetwas, was du versucht hast, das Problem gelöst? Mir ist aufgefallen, dass das Internet meistens nicht abstĂŒrzt, wenn die Downstream-Mb / s des Internets niedrig sind

Ich habe das Thema auf Facebook erneut geöffnet:
https://developers.facebook.com/support/bugs/2313553335596878/?disable_redirect=0

@oct-test @elguero44 @NumaNumaNuma @pmusolino und alle anderen, die dies erleben, markieren Sie bitte das "hier gleich"-Flag

fertig 👍

Ich weiß nicht, ob das etwas damit zu tun hat, aber mir ist aufgefallen, dass die LSApplicationQueriesSchemes-Werte manchmal nicht zur Datei info.plist hinzugefĂŒgt werden. Vielleicht verursacht es Probleme, wenn sie fehlen und das SDK versucht, sie aufzurufen? Ich habe dies als separates Problem protokolliert, aber vielleicht hĂ€ngen sie zusammen.
"fbapi", "fb-messenger-api", "fbauth2", "fbshareextension"

Ich habe das Thema auf Facebook erneut geöffnet:
https://developers.facebook.com/support/bugs/2313553335596878/?disable_redirect=0

@oct-test @elguero44 @NumaNumaNuma @pmusolino und alle anderen, die dies erleben, markieren Sie bitte das "hier gleich"-Flag

Getan.

Ich weiß nicht, ob das etwas damit zu tun hat, aber mir ist aufgefallen, dass die LSApplicationQueriesSchemes-Werte manchmal nicht zur Datei info.plist hinzugefĂŒgt werden. Vielleicht verursacht es Probleme, wenn sie fehlen und das SDK versucht, sie aufzurufen? Ich habe dies als separates Problem protokolliert, aber vielleicht hĂ€ngen sie zusammen.
"fbapi", "fb-messenger-api", "fbauth2", "fbshareextension"

Kannst du bitte den Link zum Facebook Bug Tracker hier posten?

https://github.com/facebook/facebook-sdk-for-unity/issues/229

Ich habe es gerade hier auf github angemeldet

Ich weiß nicht, ob das etwas damit zu tun hat, aber mir ist aufgefallen, dass die LSApplicationQueriesSchemes-Werte manchmal nicht zur Datei info.plist hinzugefĂŒgt werden. Vielleicht verursacht es Probleme, wenn sie fehlen und das SDK versucht, sie aufzurufen? Ich habe dies als separates Problem protokolliert, aber vielleicht hĂ€ngen sie zusammen.
"fbapi", "fb-messenger-api", "fbauth2", "fbshareextension"

In meinem Xcode-Projekt sind alle diese Schemata vorhanden, aber das Problem besteht weiterhin. @NumaNumaNuma noch etwas, das ich untersuchen sollte?

@KylinChang wir suchen Hilfe von dir. Bitte teilen Sie uns den Fortschritt mit, der bei der Fehlerbehebung durch das Facebook-Team erzielt wurde. Danke.

@KylinChang @NumaNumaNuma @sharonreytan
Wissen Sie, wie wir die FB iOS SDK Version 4.40 (neueste FB iOS SDK) in diese Unity-Version integrieren können?

Die aktuelle Version von Unity FB SDK (v7.15.1) verwendet FB iOS SDK Version 4.39.1.

Das Änderungsprotokoll hier deutet darauf hin, dass es im neuesten FB iOS SDK einige Fehlerbehebungen gibt.

@oct-test Auch diese Version zeigt das Problem.

Hallo zusammen, Sie können die SDK-Version wie folgt Ă€ndern: 1. Ändern Sie die Version in scripts/build.properties 2. FĂŒhren Sie ./scripts/setup.sh && ./scripts/build.sh aus. Öffnen Sie das Projekt UnitySDK und exportieren Sie dann das Paket.

@pmusolino
Facebook iOS SDK 4.40 hat dieses Problem?

Hallo alle,

Meinerseits ist die HĂ€ufigkeit dieses Absturzproblems sehr gering. Ich ĂŒberlege, mein Spiel zu veröffentlichen und mein GlĂŒck zu versuchen.

Ich wollte wissen, ob irgendein anderer Entwickler hier sein/ihr Spiel von Apple genehmigt bekommen hat? Wenn ja, gibt es irgendwelche Benutzerbeschwerden ĂŒber den Absturz? Wie hĂ€ufig tritt der Absturz auf der Benutzerseite auf?

Danke.

@oct-test
Das Risiko einer Freigabe wĂŒrde ich nicht eingehen. In meinem WLAN passiert der Absturz bei jedem Start. Sie möchten nicht, dass Benutzer Ihnen schlechte Bewertungen fĂŒr diese AbstĂŒrze geben, Sie geben sich zu viel MĂŒhe, um fĂŒr AbstĂŒrze schlecht bewertet zu werden. Leute schreiben schlechte Bewertungen schneller als gute Bewertungen. Ich habe mich entschieden, vor meiner Veröffentlichung auf eine Lösung zu warten (ein Fix oder eine Problemumgehung, aber eine Stabilisierung ist ein Muss ...)

Ich habe mich entschieden, die App trotzdem zu veröffentlichen, so weit, so gut, keine AbstĂŒrze.
Nur fĂŒr den Fall, dass es hilft, initialisiere ich das SDK so (nichts Besonderes, aber wer weiß vielleicht fĂŒr diejenigen, die beim Start abstĂŒrzen ...):

private void Awake()
        {
            InitFBSDK();
        }

        private void InitFBSDK()
        {
            if (!FB.IsInitialized)
            {
                FB.Init(InitCallback);
            }
            else
            {
                // Already initialized, signal an app activation App Event
                FB.ActivateApp();
            }
        }

        public void InitCallback()
        {
            if (FB.IsInitialized)
            {
                // Signal an app activation App Event
                FB.ActivateApp();
            }
            else
            {
                Debug.Log("Failed to Initialize the Analytics SDK");
            }
        }

        private void OnApplicationPause(bool pauseStatus)
        {
            if (!pauseStatus)
            {
                if (FB.IsInitialized)
                {
                    FB.ActivateApp();
                }
                else
                {
                    FB.Init(InitCallback);
                }
            }
        }

Bitte teilen Sie uns mit, ob Apple dies genehmigt hat. Ich denke, es hat mit den Mb / s des Internets zu tun, eines Tages war mein WLAN langsam und alles funktionierte ... Am Tag danach ging es wieder normal und der Absturz blieb bestehen.
Welche fb SDK-Version verwendest du?

Ja, am Montag 2 Apps genehmigt und veröffentlicht, ĂŒberhaupt kein Problem. Aber vielleicht bin das nur ich.

Ich freue mich zu hören, dass! Ich werde versuchen, auch einzureichen, diesmal nur fĂŒr iPhones.
Welche fb SDK-Version verwendest du?

Ich habe die neueste Unity-Version 7.15.1 verwendet

@sharonreytan @NumaNumaNuma

Mein Spiel wurde gestern von Apple genehmigt (genau wie beim letzten Mal). Ich werde die Absturzrate fĂŒr mein Spiel ĂŒber einige Tage ĂŒberwachen, um zu sehen, ob das Problem weiterhin besteht.

Wieder von Apple abgelehnt.
@KylinChang etwas Neues dazu? Was ist zu tun?

Hat jemand eine Lösung dafĂŒr gefunden? Meine App-Bewertungen werden dadurch zerstört.

hey @sharonreytan @sarebots , Entschuldigung fĂŒr die spĂ€te Antwort, können Sie versuchen, -all_load Linker-Flags hinzuzufĂŒgen, wie in https://stackoverflow.com/questions/2906147/what-does-the-all-load-linker-flag-do angegeben. Nach dem, was ich gefunden habe, liegt das daran, dass in FBSDKCoreKit definierte NSError-Methoden nicht erkannt werden und dies ein bekanntes Xcode-Problem ist.
Referenzlink: https://developer.apple.com/library/archive/qa/qa1490/_index.html

@KylinChang also -ObjC und -all_load kombiniert? Können Sie dies in einer zukĂŒnftigen Version zu den Post-Build-Befehlen von Unity zu xcode hinzufĂŒgen?

@KylinChang also -ObjC und -all_load kombiniert? Können Sie dies in einer zukĂŒnftigen Version zu den Post-Build-Befehlen von Unity zu xcode hinzufĂŒgen?

Ja, kombinieren Sie sie miteinander und das HinzufĂŒgen von Kompilierungs-Flags im Post-Build ist bereits in unserer Roadmap enthalten.

@sharonreytan Hat dieser Fix fĂŒr Sie funktioniert? Ich bekomme Absturzberichte mit genau dem gleichen Problem.

Ich habe einige TestflĂŒge geschickt, aber Apple hat meine App noch nicht genehmigt, weil sie jetzt mein Konto untersuchen, weil ich viele Male eingereicht habe ... Sehr frustrierend, aber ich warte geduldig auf ihre Antwort.
Meine Tester haben keine Probleme gemeldet. Hast du die Flags -ObjC und -all_load hinzugefĂŒgt?

Es hat das Problem fĂŒr mich behoben.

@sharonreytan Ich habe noch nicht versucht, die Flags hinzuzufĂŒgen, wollte nur sehen, ob jemand Erfolg hatte, bevor ich Apple einen neuen Build vorlege.

Es hat mir geholfen, aber bis Apple nicht zustimmt, kann ich es nicht bestÀtigen. Es passiert bei bestimmten Verbindungen und nicht immer. Als ich es reproduzieren konnte, war mein Internet 150 Mb/s.
Auf jeden Fall wĂŒrde ich an deiner Stelle nach einigen Tests einen Fix mit diesen Flags veröffentlichen. Das Problem trat nach iOS 12.1 auf und die Lösung scheint gut zu funktionieren. Ich habe es auf mehreren GerĂ€ten und Verbindungstypen und -geschwindigkeiten getestet

Steht vor dem gleichen Problem, etwas im Zusammenhang mit WLAN oder Mobilfunknetzen oder dem Wechsel zwischen diesen. Einige Leute sind in WLAN-Netzwerken damit konfrontiert. Ich stehe vor diesem Problem in einem 4G-Mobilfunknetz. App stĂŒrzt beim Start einfach ab. Ich muss das Facebook SDK endlich vollstĂ€ndig entfernen, um es dem App Store vorzulegen, bis wir eine Lösung haben. Außerdem funktioniert die App auf Android einwandfrei, es ist nur ein iOS-Problem.

Dieses Ă€hnliche Problem 472 berichtete gegen die iOS SDK-Details, dass das HinzufĂŒgen des Linker-Flags _-ObjC_ den Absturz möglicherweise nicht vollstĂ€ndig behebt.

Das HinzufĂŒgen des _force_load_-Linker-Flags und des korrekten Pfads zum _FBSDKCoreKit_-Framework hat den Absturz jedoch fĂŒr mich behoben, wie @Umar559 auch unten berichtet

AnfÀnglich reichte die Verwendung des Linker-Flags _force_load_ gegen das _FBSDKLoginKit_ nicht aus, um den Absturz auf einigen TestgerÀten zu verhindern.

es ist Arbeit fĂŒr mich. Danke @julianD77

Das HinzufĂŒgen des Folgenden zu anderen Linker-Flags hat das Problem behoben:
-force_load
${PROJECT_DIR}/Frameworks/FBSDKCoreKit.framework/FBSDKCoreKit
Absturz bei mobilen Daten behoben

Hinweis: Der Pfad kann unterschiedlich sein, je nachdem, wo sich Ihr FBSDKCoreKit.framework befindet

In v7.16.0 fĂŒgt Unity SDK -force_load zu „Other Linker Flag“ fĂŒr Ihr Projekt hinzu

@KylinChang was ist mit -ObjC-Flag?

Hallo @happypepper , ich glaube nicht, dass Sie das Flag -ObjC mit -force_load benötigen werden

Wenn das Problem immer noch nicht von einigen von euch gelöst wurde. Das könnte ein Lebensretter sein. Hat bei meinen letzten 3 Hyper-Casual-Spielen ziemlich gut funktioniert. Schauen Sie sich den folgenden Link an

Viel GlĂŒck

Ich habe mit dem Flag -force_load auf 7.16.1 aktualisiert, aber der Absturz ist immer noch aufgetreten

Hat jemand das gleiche Problem?

@inxidious
Können Sie es erneut mit der neuesten fbsdk-Version (7.17.1) versuchen?
Das Problem wurde fĂŒr mich auf fbsdk 7.15.0 mit dem Flag -force_load, iOS 12.3.1, Unity 2019.1.1f, xcode 10.2.1 gelöst.
Ich hatte 60 Benutzer in meiner App, ~230 Sitzungen und es wurden keine AbstĂŒrze gemeldet (alle unter iOS).
Haben Sie denselben Fehler erhalten - FBSDKGraphRequestConnection errorF romResult:request :?

@sharonreytan Ich habe 7.17.1 ausprobiert, aber nach dem Importieren des SDK treten seltsame Fehler auf. Mein gesamter Code, der auf TextMeshPro verweist, löst Fehler aus, die besagen, dass TextMeshPro nicht gefunden werden konnte. also bin ich wieder auf 7.16.1 umgestiegen

Hey @inxidious , die Hauptursache des Problems ist, dass die Kategorie NSError in FBSDKCoreKit nicht geladen ist und -force_load helfen sollte, das Problem zu beheben. Haben Sie denselben Fehler erhalten - FBSDKGraphRequestConnection errorF romResult:request :?

@KylinChang 7.16.1 hat standardmĂ€ĂŸig -all_load hinzugefĂŒgt, aber ich kann aufgrund eines Fehlers nicht mit -all_load bauen, also habe ich es in -force_load und den FBSDKCoreKit-Pfad {PROJECT_PATH}/Frameworks/FacebookSDK/Plugins/iOS/FBSDKCoreKit geĂ€ndert. Framework/FBSDKCoreKit

Nach einigen Starts stĂŒrzt es beim Start der App ab. Hier ist das Protokoll von xcode:

2019-07-09 10:11:44.811486+0700 gametitle[20035:4320446] I/UnityAds: +[UnityServices initialize:delegate:testMode:] (line:47) :: Initializing Unity Ads 3.1.0 (3100) with game id 2832682 in test mode
2019-07-09 10:11:44.815973+0700 gametitle[20035:4320446] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2019-07-09 10:11:44.816421+0700 gametitle[20035:4320446] [MC] Reading from public effective user settings.
Unloading 7 Unused Serialized files (Serialized files now loaded: 0)
2019-07-09 10:11:44.819778+0700 gametitle[20035:4320762] [NetworkInfo] Could not successfully update network info for descriptor <CTServiceDescriptor 0x282d77ae0, domain=1, instance=2> during initialization.
2019-07-09 10:11:44.821022+0700 gametitle[20035:4320446] [NetworkInfo] Could not successfully update network info for descriptor <CTServiceDescriptor 0x282d863a0, domain=1, instance=2> during initialization.
2019-07-09 10:11:44.821054+0700 gametitle[20035:4320762] [NetworkInfo] Signal strength query returned error: Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied", descriptor: <CTServiceDescriptor 0x282d77b60, domain=1, instance=1>
2019-07-09 10:11:44.821658+0700 gametitle[20035:4320762] [NetworkInfo] Signal strength query returned error: Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied", descriptor: <CTServiceDescriptor 0x282d77ae0, domain=1, instance=2>
2019-07-09 10:11:44.822644+0700 gametitle[20035:4320446] [NetworkInfo] Signal strength query returned error: Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied", descriptor: <CTServiceDescriptor 0x282d863c0, domain=1, instance=1>
2019-07-09 10:11:44.822801+0700 gametitle[20035:4320446] [NetworkInfo] Signal strength query returned error: Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied", descriptor: <CTServiceDescriptor 0x282d863a0, domain=1, instance=2>
2019-07-09 10:11:44.825375+0700 gametitle[20035:4320762] [NetworkInfo] Could not successfully update network info for descriptor <CTServiceDescriptor 0x282d863a0, domain=1, instance=2> during initialization.
2019-07-09 10:11:44.825467+0700 gametitle[20035:4320760] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x10fb60050] get output frames failed, state 8196
2019-07-09 10:11:44.825502+0700 gametitle[20035:4320760] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C1.1:2][0x10fb60050] get output frames failed, state 8196
2019-07-09 10:11:44.827003+0700 gametitle[20035:4320760] TIC Read Status [1:0x0]: 1:57
2019-07-09 10:11:44.827021+0700 gametitle[20035:4320760] TIC Read Status [1:0x0]: 1:57
2019-07-09 10:11:44.827071+0700 gametitle[20035:4320760] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C2.1:2][0x10fcb61a0] get output frames failed, state 8196
2019-07-09 10:11:44.827793+0700 gametitle[20035:4320762] [NetworkInfo] Signal strength query returned error: Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied", descriptor: <CTServiceDescriptor 0x282d863c0, domain=1, instance=1>
2019-07-09 10:11:44.828153+0700 gametitle[20035:4320760] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C2.1:2][0x10fcb61a0] get output frames failed, state 8196
2019-07-09 10:11:44.828517+0700 gametitle[20035:4320762] [NetworkInfo] Signal strength query returned error: Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied", descriptor: <CTServiceDescriptor 0x282d863a0, domain=1, instance=2>
2019-07-09 10:11:44.829897+0700 gametitle[20035:4320760] TIC Read Status [2:0x0]: 1:57
2019-07-09 10:11:44.829907+0700 gametitle[20035:4320760] TIC Read Status [2:0x0]: 1:57
2019-07-09 10:11:44.830863+0700 gametitle[20035:4320765] I/UnityAds: -[USRVInitializeStateConfig execute] (line:167) :: Unity Ads init: load configuration from https://config.unityads.unity3d.com/webview/3.1.0/release/config.json
2019-07-09 10:11:44.926640+0700 gametitle[20035:4320587] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C6.1:2][0x10fb54e00] get output frames failed, state 8196
2019-07-09 10:11:44.926683+0700 gametitle[20035:4320587] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C6.1:2][0x10fb54e00] get output frames failed, state 8196
2019-07-09 10:11:44.926770+0700 gametitle[20035:4320587] TIC Read Status [6:0x0]: 1:57
2019-07-09 10:11:44.926779+0700 gametitle[20035:4320587] TIC Read Status [6:0x0]: 1:57
Using configuration builder objects
UnityEngine.DebugLogHandler:Internal_Log(LogType, String, Object)
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(Object)
UnityEngine.Purchasing.StoreCatalogImpl:handleCachedCatalog(Action`1)
UnityEngine.Purchasing.<>c__DisplayClass10_0:<FetchProducts>b__1(String)
System.Action`1:Invoke(T)
UnityEngine.Purchasing.<Process>d__4:MoveNext()
UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

(Filename: ./Runtime/Export/Debug.bindings.h Line: 45)

2019-07-09 10:11:45.033545+0700 gametitle[20035:4320446] UnityIAP: Requesting 9 products
2019-07-09 10:11:45.033923+0700 gametitle[20035:4320446] UnityIAP: Requesting product data...
2019-07-09 10:11:45.065621+0700 gametitle[20035:4320762] I/UnityAds: -[USRVInitializeStateLoadWeb execute] (line:236) :: Unity Ads init: loading webapp from https://webview.unityads.unity3d.com/webview/3.1.0/437c309040cf0337b5b2f01b0da802c1d0c028c8/release/index.html
2019-07-09 10:11:45.098913+0700 gametitle[20035:4320760] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C10.1:2][0x11c18f840] get output frames failed, state 8196
2019-07-09 10:11:45.098953+0700 gametitle[20035:4320760] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C10.1:2][0x11c18f840] get output frames failed, state 8196
2019-07-09 10:11:45.099042+0700 gametitle[20035:4320760] TIC Read Status [10:0x0]: 1:57
2019-07-09 10:11:45.099051+0700 gametitle[20035:4320760] TIC Read Status [10:0x0]: 1:57
2019-07-09 10:11:45.202734+0700 gametitle[20035:4320600] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C7.1:2][0x10fc10d20] get output frames failed, state 8196
2019-07-09 10:11:45.202795+0700 gametitle[20035:4320600] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C7.1:2][0x10fc10d20] get output frames failed, state 8196
2019-07-09 10:11:45.202935+0700 gametitle[20035:4320600] TIC Read Status [7:0x0]: 1:57
2019-07-09 10:11:45.202949+0700 gametitle[20035:4320600] TIC Read Status [7:0x0]: 1:57
2019-07-09 10:11:45.369770+0700 gametitle[20035:4320761] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C14.1:2][0x11bce9590] get output frames failed, state 8196
2019-07-09 10:11:45.369947+0700 gametitle[20035:4320761] [BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C14.1:2][0x11bce9590] get output frames failed, state 8196
2019-07-09 10:11:45.370331+0700 gametitle[20035:4320761] TIC Read Status [14:0x0]: 1:57
2019-07-09 10:11:45.370367+0700 gametitle[20035:4320761] TIC Read Status [14:0x0]: 1:57
2019-07-09 10:11:45.568275+0700 gametitle[20035:4320446] Uncaught exception: NSInvalidArgumentException: *** -[__NSSetM addObject:]: object cannot be nil
(
    0   CoreFoundation                      0x00000001a327a3c0 <redacted> + 256
    1   libobjc.A.dylib                     0x00000001a247fd00 objc_exception_throw + 60
    2   CoreFoundation                      0x00000001a31f1870 _CFArgv + 0
    3   CoreFoundation                      0x00000001a31648fc <redacted> + 788
    4   gametitle                        0x0000000104b3504c +[FBSDKInternalUtility extractPermissionsFromResponse:grantedPermissions:declinedPermissions:expiredPermissions:] + 484
    5   gametitle                        0x0000000104b191c0 __75+[FBSDKGraphRequestPiggybackManager addRefreshPiggyback:permissionHandler:]_block_invoke.89 + 272
    6   gametitle                        0x0000000104b55ff4 -[FBSDKGraphRequestMetadata invokeCompletionHandlerForConnection:withResults:error:] + 152
    7   gametitle                        0x0000000104b5eed8 __82-[FBSDKGraphRequestConnection processResultBody:error:metadata:canNotifyDelegate:]_block_invoke + 160
    8   gametitle                        0x0000000104b5edbc -[FBSDKGraphRequestConnection processResultBody:error:metadata:canNotifyDelegate:] + 688
    9   gametitle                        0x0000000104b5e96c __64-[FBSDKGraphRequestConnection completeWithResults:networkError:]_block_invoke + 400
    10  CoreFoundation                      0x00000001a315e044 <redacted> + 232
    11  gametitle                        0x0000000104b5e710 -[FBSDKGraphRequestConnection completeWithResults:networkError:] + 540
    12  gametitle                        0x0000000104b5da5c -[FBSDKGraphRequestConnection completeFBSDKURLSessionWithResponse:data:networkError:] + 940
    13  gametitle                        0x0000000104b5ba44 __36-[FBSDKGraphRequestConnection start]_block_invoke_2 + 80
    14  libdispatch.dylib                   0x00000001a2c88304 <redacted> + 32
    15  libdispatch.dylib                   0x00000001a2c89884 <redacted> + 20
    16  libdispatch.dylib                   0x00000001a2c9573c _dispatch_main_queue_callback_4CF + 1012
    17  CoreFoundation                      0x00000001a320a024 <redacted> + 16
    18  CoreFoundation                      0x00000001a3204cd4 <redacted> + 1888
    19  CoreFoundation                      0x00000001a3204254 CFRunLoopRunSpecific + 452
    20  GraphicsServices                    0x00000001a5443d8c GSEventRunModal + 108
    21  UIKitCore                           0x00000001d054c4c0 UIApplicationMain + 216
    22  gametitle                        0x0000000104b6daf0 main + 212
    23  libdyld.dylib                       0x00000001a2cc0fd8 <redacted> + 4
)
(lldb) 

Versuchen Sie es mit diesen Linker-Flags: -ObjC und -all_load @inxidious

@sharonreytan das Ändern dieser Linker-Flags fĂŒhrt dazu, dass der Build-Prozess einen Fehler auslöst:

Undefined symbols for architecture arm64: "_OBJC_CLASS_$_FIRDynamicLinks", referenced from: objc-class-ref in libFirebaseCppApp.a(invites_receiver_internal_ios_aa7b75b2efc3269e88f1077e55250e5a.o) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Ich habe gerade fbsdk 7.17.2 integriert und im Appstore veröffentlicht. Keine AbstĂŒrze, kein Durcheinander. Einfach von Unity nach Xcode in den Store exportiert.
Danke @KylinChang und ich hoffe, es wird fĂŒr alle anderen in diesem Thread in Ordnung sein

Ja, ich habe auf 7.17.2 aktualisiert und alle meine Probleme schienen auch gelöst zu sein.
Danke an alle!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

alchemyincarnate picture alchemyincarnate  Â·  4Kommentare

yasuohasegawa picture yasuohasegawa  Â·  4Kommentare

michelleran picture michelleran  Â·  6Kommentare

naklow12 picture naklow12  Â·  6Kommentare

MorganMoon picture MorganMoon  Â·  7Kommentare