我正在使用统一的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()。
感谢您的帮助。
答案 0 :(得分:9)
我们设法通过编辑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);
希望它有所帮助!
答案 1 :(得分:0)
答案 2 :(得分:0)
截至目前(2016年5月29日)它尚未修复。您必须使用来自JMilan的代码或其他基本相同的代码来修复自己,只需在使用之前检查ResultDictionary。
但是,它已在下一版本中提交修补。
答案 3 :(得分:0)
这在7.6.0中得到修复,现在已经过验证。 https://developers.facebook.com/bugs/929096797187666/