当我尝试使用Facebook SDK 6.0 for Unity时,有时它会起作用,有时我会收到以下错误消息:
解析主机超时:integrated-plugin-canvas-rsrc.fbsbx.comError(Object) FbDebug:Error(String) c__IteratorA:MoveNext() (在Assets/Facebook/Scripts/FB.cs:398)
当我尝试为MAC构建我的项目时,我也遇到了同样的错误。
它在移动设备上工作得很好。
有什么想法吗?
(我已经在后处理器文件中将UNITY 4_5更改为UNITY 4_6。我正在使用4_6)
非常感谢!
诚挚的问候,
AB
发布于 2014-12-03 20:28:18
这是我从FB.cs文件中修改的LoadFacebookClass方法,它会尝试多次,通常需要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--
}https://stackoverflow.com/questions/26410370
复制相似问题