https://docs.unity3d.com/Manual/UnityWebRequest.html上给出的示例适用于Windows桌面,Windows Mobile,Android,甚至可以按预期在iOS编辑器中使用。但是当我将应用程序发布到Apple App Store时,它无法连接到互联网。与其他平台不同,没有明显的延迟,并且在尝试请求时似乎立即失败。
错误是:
未知错误
我需要配置XCode项目以允许iOS应用程序连接到互联网吗?
对于它的价值,这里是进行调用的源代码:
IEnumerator SyncRequest(string data, Action<string> responseHandler)
{
Debug.Log("Requesting " + data);
UnityWebRequest www = UnityWebRequest.Get(baseurl + "/api-voteoptions.php?" + data);
yield return www.Send();
if (www.isError) // <-- Always true on published iOS app
{
string error = www.error; // <-- "Unknown Error"
Debug.LogWarning(error);
if (responseHandler != null)
{
responseHandler(error);
}
}
else
{
string response = www.downloadHandler.text;
Debug.Log(response);
if (responseHandler != null)
{
responseHandler(response);
}
}
}
答案 0 :(得分:1)
找到解决方案。事实证明,我必须在Info.plist文件中指定我想要允许&#34;不安全&#34; iOS应用的http连接。
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>just-an-example.com</key>
<string></string>
</dict>
</dict>
答案 1 :(得分:0)
IEnumerator loadingImage()
{
string url = "http://picturekeyboardapps.in/UnityApp/CarStunt/getCarTextures.php";
UnityWebRequest webrequest = UnityWebRequest.Get(url);
yield return webrequest.SendWebRequest();
if (webrequest.isNetworkError || webrequest.isHttpError)
{
print("Network Error"); // return Unkown Error IOS Mobile
}
else
{
}
}