我已经构建了一个 Unity MacOS 应用程序,它在调试器中运行良好,从构建目录运行时也很好,但是当 *.app 文件被复制到“Applications”文件夹时,它在执行 an 时挂起 30 秒异步动作。有谁知道为什么/如何解决它?
我的代码基本上是这样的:
private void Start()
{
StartCoroutine(StartLate());
}
IEnumerator StartLate()
{
yield return null;
using (UnityWebRequest www = UnityWebRequest.Get("<my url>"))
{
UnityWebRequestAsyncOperation async = www.SendWebRequest();
int i=0;
while (!async.isDone)
{
Debug.Log(i++);
yield return null;
}
Debug.Log("Complete");
// Actually act on the result...
}
}
在 Unity 调试器中运行时,或在构建目录中进行独立构建时,输出如下所示:
1 2 3 4 5 6 7 8 9..... 100 101 Complete
如果我将应用程序复制到“应用程序”目录,然后运行它,那么输出是:
1 2 3 4 5 6 7 8 9..... 100 101
<30 second hang>Complete
请注意,这是一个正确的“挂起”——整个应用程序冻结,鼠标光标变为 MacOS 挂起动画。当只调用
yield return www.SendWebRequest()
而不是使用异步模式时,我也得到了相同的行为(我添加它只是为了尝试和调试问题的确切位置!)。
有谁知道是什么原因造成的和/或如何解决和/或解决它?