Я использую следующие коды для инициализации Facebook SDK (в OnGUI()
):
if(GUI.Button(buttonRect, "Login")) {
if(!FB.IsInitialized) {
FB.Init(OnInitComplete, OnHideUnity);
} else {
OnInitComplete();
}
}
И его функции обратного вызова:
private void OnInitComplete() {
Debug.Log("FB.Init completed: Is user logged in? " + FB.IsLoggedIn);
Application.LoadLevel("NextScreen");
}
private void OnHideUnity(bool isGameShown) {
Debug.Log("Is game showing? " + isGameShown);
}
Затем я запускаю приложение на настоящем iPhone 5s с iOS 8.1.2. Журнал показывает в Xcode 6:
FB.Init() уже был вызван. Вам нужно вызвать это только один раз и только один раз.
NullReferenceException: Facebook object is not yet loaded. Did you call FB.Init()?
at FB.get_FacebookImpl () [0x00000] in <filename unknown>:0
at FB.Init (Facebook.InitDelegate onInitComplete, System.String appId, Boolean cookie, Boolean logging, Boolean status, Boolean xfbml, Boolean frictionlessRequests, Facebook.HideUnityDelegate onHideUnity, System.String authResponse) [0x00000] in <filename unknown>:0
at FB.Init (Facebook.InitDelegate onInitComplete, Facebook.HideUnityDelegate onHideUnity, System.String authResponse) [0x00000] in <filename unknown>:0
at TitleScreen.StartGame () [0x00000] in <filename unknown>:0
at TitleScreen.Update () [0x00000] in <filename unknown>:0
(Filename: Line: -1)
FB.Init completed: Is user logged in? True
Эта проблема не возникает в Android или в Unity. Как я могу решить эту проблему?
p.s. Эта ошибка НЕ запрещает мне авторизоваться в Facebook. Все остальное нормально.
Ссылка на другие подобные вопросы (это и что), дело обстоит иначе, поскольку версия отличается (используемые версии Graph API также отличаются )
Примечание. Использование Unity 4.6.1, Facebook SDK для Unity 6.0.0