我最近使用Unity3D构建了一个Mac应用程序 在那里我们向第三方服务器进行网络呼叫。
我在Unity C#中的代码:
void someFunc(){
Dictionary<string, object> jsonDict = new Dictionary<string, object>();
jsonDict.Add("$Param1", Token);
jsonDict.Add("$Param2", DistinctID);
jsonDict.Add("$Param3", propsDict);
string jsonStr = JsonMapper.ToJson(jsonDict);
if(EnableLogging)
Debug.Log("Sending data: " + jsonStr);
string jsonStr64 = EncodeTo64(jsonStr);
string url = string.Format(API_URL_ENGAGE, jsonStr64);
StartCoroutine(SendDataCoroutine(url));
}
IEnumerator SendDataCoroutine(string url)
{
WWW www = new WWW(url);
yield return www;
if (www.error != null) {
Debug.LogWarning ("Error sending Data: " + www.error);
}else if (www.text.Trim () == "0") {
Debug.LogWarning ("Error on processing Data: " + www.text);
} else if (EnableLogging) {
Debug.Log ("processed Data: " + www.text);
}
}
在开发和QA的同时它工作正常, 在Mac App Store中的生产版本(设置UseMacAppStoreValidation - &gt; True)中,它无法正常工作。
Mac app是
- 沙盒,
- 为访问NETWORK_CLIENT,CAMERA,USER_SELECTED_FILES而添加的权利。
Entitlement File:
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.device.camera</key>
<true/>
<key>com.apple.security.files.user-selected.read-only</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
</dict>
你们中的任何人能否帮助我们找出原因? 任何帮助将不胜感激。期待加快回应。
避免使用WWW,而是使用HTTPWebRequest
这解决了我的问题。
答案 0 :(得分:-1)
也许您正在尝试访问非安全 URL,但现在在Android 9中已禁止使用该URL