当我尝试使用Unity的Facebook SDK 6.0时,有时可以正常工作,有时会出现以下错误消息:
解决主机超时:Integrated-plugin-canvas-rsrc.fbsbx.com
UnityEngine.Debug:LogError(Object)
FbDebug:Error(字串)
c__IteratorA:MoveNext()(在Assets / Facebook / Scripts / FB.cs:398)
尝试为MAC建立项目时出现相同的错误。
它在移动设备上完美运行。
任何想法 ?
(我已经在后处理器文件中将UNITY 4_5更改为UNITY 4_6。我正在使用4_6)
非常感谢 !
最好的祝福,
AB
最佳答案
我强行使用它,这是从LoadFacebookClass
文件修改后的FB.cs
方法,它将尝试多次,通常需要5到15次尝试才能下载.dll。
public static IEnumerator LoadFacebookClass(string className, LoadedDllCallback callback)
{
int tryAgainForFewTimes = 20; //--Changed--
while(tryAgainForFewTimes-- > 0) //--Changed--
{
var url = string.Format(IntegratedPluginCanvasLocation.DllUrl, className);
var www = new WWW(url);
FbDebug.Log("loading dll: " + url);
yield return www;
if (www.error != null)
{
FbDebug.Error(www.error);
print("retry: " + tryAgainForFewTimes); //--Changed--
continue; //--Changed--
}
tryAgainForFewTimes = 0; //--Changed--
#if !UNITY_WINRT
#if UNITY_4_5 || UNITY_4_6 || UNITY_5_0
var authTokenWww = new WWW(IntegratedPluginCanvasLocation.KeyUrl);
yield return authTokenWww;
if (authTokenWww.error != null)
{
FbDebug.Error("Cannot load from " + IntegratedPluginCanvasLocation.KeyUrl + ": " + authTokenWww.error);
authTokenWww.Dispose();
yield break;
}
var assembly = Security.LoadAndVerifyAssembly(www.bytes, authTokenWww.text);
#else
var assembly = Security.LoadAndVerifyAssembly(www.bytes);
#endif
if (assembly == null)
{
FbDebug.Error("Could not securely load assembly from " + url);
www.Dispose();
yield break;
}
var facebookClass = assembly.GetType(facebookNamespace + className);
if (facebookClass == null)
{
FbDebug.Error(className + " not found in assembly!");
www.Dispose();
yield break;
}
// load the Facebook component into the gameobject
// using the "as" cast so it'll null if it fails to cast, instead of exception
var fb = typeof(FBComponentFactory)
.GetMethod("GetComponent")
.MakeGenericMethod(facebookClass)
.Invoke(null, new object[] { IfNotExist.AddNew }) as IFacebook;
if (fb == null)
{
FbDebug.Error(className + " couldn't be created.");
www.Dispose();
yield break;
}
callback(fb);
#endif
www.Dispose();
} //--Changed--
}
关于ios - Unity和Facebook 6.0:解决主机超时:Integrated-plugin-canvas-rsrc.fbsbx.com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26410370/