Facebook API 7.5.0 崩溃统一 OnInitComplete()
Facebook API 7.5.0 crashes unity OnInitComplete()
我在使用 unity 的 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().
感谢您的帮助。
我们设法通过编辑 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);
希望对您有所帮助!
似乎这个问题正在解决:
https://developers.facebook.com/bugs/929096797187666/
截至目前(2016 年 5 月 29 日)尚未修复。您必须使用 JMilan 的代码或其他基本上相同的代码来修复自己,只需在使用前检查 ResultDictionary。
但是,它已提交以在下一个版本中进行修补。
这已在 7.6.0 中修复并验证现在可以工作。
https://developers.facebook.com/bugs/929096797187666/
我在使用 unity 的 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().
感谢您的帮助。
我们设法通过编辑 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);
希望对您有所帮助!
似乎这个问题正在解决: https://developers.facebook.com/bugs/929096797187666/
截至目前(2016 年 5 月 29 日)尚未修复。您必须使用 JMilan 的代码或其他基本上相同的代码来修复自己,只需在使用前检查 ResultDictionary。
但是,它已提交以在下一个版本中进行修补。
这已在 7.6.0 中修复并验证现在可以工作。 https://developers.facebook.com/bugs/929096797187666/