Facebook API 7.5.0 срива unity OnInitComplete()

Работя в iOs среда, използвайки unity. Всичко работи безупречно с Facebook API версия 7.4, но откакто получих новата версия, играта се прекъсва, когато Facebook се инициализира.

Получавам тази грешка:

NullReferenceException: Object reference not set to an instance of an object
Facebook.Unity.FacebookBase.OnInitComplete (Facebook.Unity.ResultContainer resultContainer) (at Assets/FacebookSDK/SDK/Scripts/FacebookBase.cs:217)
Facebook.Unity.FacebookGameObject.OnInitComplete (System.String message) (at Assets/FacebookSDK/SDK/Scripts/FacebookGameObject.cs:62)
Facebook.Unity.Editor.EditorFacebook.Init (Facebook.Unity.HideUnityDelegate hideUnityDelegate, Facebook.Unity.InitDelegate onInitComplete) (at Assets/FacebookSDK/SDK/Scripts/PlatformEditor/EditorFacebook.cs:79)
Facebook.Unity.FB+<Init>c__AnonStorey38.<>m__4 () (at Assets/FacebookSDK/SDK/Scripts/FB.cs:234)
Facebook.Unity.FB+CompiledFacebookLoader.Start () (at Assets/FacebookSDK/SDK/Scripts/FB.cs:864)

Предполагам, че това е така, защото извиквам методите на FB.API, преди да се инициализира правилно. Аз обаче не извиквам нищо друго, само FB.Init().

Благодаря за помощта.


person Cabrra    schedule 19.04.2016    source източник


Отговори (4)


Успяваме да го поправим, като редактираме FacebookBase.cs, около ред 216 добавяме проверка и инициализираме речника resultContainer.ResultDictionary.

+            if ( resultContainer.ResultDictionary == null )
+            {
+                resultContainer.ResultDictionary = new Dictionary< string, object >( 1 );
+            }
             resultContainer.ResultDictionary[Constants.CallbackIdKey]
                 = this.CallbackManager.AddFacebookDelegate(loginCallback);
             this.OnLoginComplete(resultContainer);

Дано помогне!

person JMilan    schedule 21.04.2016
comment
Благодаря за отговора. Направих точно това, но не бях сигурен дали е правилно. - person Cabrra; 21.04.2016

Изглежда, че този проблем се коригира: https://developers.facebook.com/bugs/929096797187666/

person observer360    schedule 21.04.2016

Както сега (29 май 2016 г.) НЕ Е ФИКСИРАН. Трябва да се коригирате с кода от JMilan или други, които са направили основно същото нещо, просто проверете ResultDictionary, преди да го използвате.

Той обаче е изпратен за корекция в следващото издание.

person Michael Jota    schedule 29.05.2016

Това беше коригирано в 7.6.0 и потвърдено, че работи сега. https://developers.facebook.com/bugs/929096797187666/

person Reigo    schedule 03.07.2016