Я работаю в среде iOs, используя единство. Все работало безупречно с 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 ().

Спасибо за помощь.

2
Cabrra 19 Апр 2016 в 18:35

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);

Надеюсь, это поможет!

9
JMilan 21 Апр 2016 в 07:49

Похоже, эта проблема исправляется: https://developers.facebook.com/bugs/929096797187666/

0
observer360 21 Апр 2016 в 11:20

На данный момент (29 мая 2016 г.) НЕ ИСПРАВЛЕНО. Вы должны исправить себя с помощью кода из JMilan или других, которые сделали в основном то же самое, просто проверьте ResultDictionary перед его использованием.

Однако он был отправлен на исправление в следующем выпуске.

0
Michael Jota 29 Май 2016 в 05:14

Это было исправлено в 7.6.0 и проверено, что теперь работает. https://developers.facebook.com/bugs/929096797187666/

0
Reigo 3 Июл 2016 в 06:40