我收到了我的應用程序被拒絕前幾天由於以下原因:
我們發現在你的應用程序的一個或更多的錯誤時,iPad和 iPhone運行iOS 9.3.5審查在連接到IPv6網絡的Wi-Fi上。
具體而言,我們發現登錄時產生了一條錯誤消息。 我們附上了截圖供您參考。
下一步
請運行在設備上的應用程序,同時連接到IPv6網絡 (所有的應用程序必須支持IPv6),以確定問題的(一個或多個),然後修改並重新提交 您的應用程序進行審覈。
如果我們誤解了您應用的預期行爲,請回復 此消息在Resolution Center中,以提供有關這些 功能如何工作的信息。
對於新的應用程序,從 設備上卸載您應用程序的所有先前版本,然後安裝並按照步驟重現問題。 如需更新,請安裝新版本作爲先前的 版本的更新,然後按照步驟重現問題。
資源
有關支持IPv6網絡的信息,請參閱 支持IPv6 DNS64/NAT64網絡和關於網絡
如果你有困難重現報告的問題,請嘗試 測試中所描述的工作流程技術Q & A QA1764:如何 重現針對App Store提交報告的錯誤。
我已經設置了兩個IPv6網絡,其中一個在時間膠囊中,另一個從我的MacBook Pro共享。從Time Capsule的網絡(誰是完整的IPv6網絡),該應用程序正常工作。從MacBook Pro共享網絡中,我收到兩個結果...當設備連接到此IPv6網絡並且只配置了DNS時,該應用程序可以正常工作,但是當它接收到DNS和一個格式爲169.254.XX的IP時,應用程序會崩潰連接到服務器。
問題是,$ http請求應答由錯誤端而不是成功端進行。我用Ionic $ http和cordova-http插件(https://github.com/Switch168/cordova-HTTP#110)嘗試過,結果是一樣的。我不知道發生了什麼,因爲我與AngularJS有一個Cordova(只有Cordova,不是Ionic)項目,它不會失敗。那麼,Ionic $ http和AngularJS $ http有什麼區別?我不明白有什麼區別。請參閱this image here
$ HTTP請求的例子(使用離子$ http和科爾多瓦-HTTP插件):
callWs: function(ws, method, data){
var defferer = $q.defer();
if (device.platform == 'Android' || device.platform == 'iOS'){
$window.CordovaHttpPlugin.postJson(url_request,
data_sent,
{"cache-control": "no-cache, private, no-store, must-revalidate",
"Authorization": basic_auth,
"Content-Type": "application/x-www-form-urlencoded; charset=utf-8"
},
function(res) {
defferer.resolve(res.data);
}, function(error) {
defferer.reject(error);
});
} else {
$http({
url: url_request,
method: 'POST',
withCredentials: true,
timeout: HTTPTIMEOUT,
headers: {
'cache-control': 'no-cache, private, no-store, must-revalidate',
'Authorization': basic_auth,
'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8'
},
dataType : 'json',
data: data_sent
}).then(function (res) {
defferer.resolve(res.data);
}, function (error) {
defferer.reject(error);
});
}
return defferer.promise;
}
「_IT重要的,你的服務器是通過IPv6可達蘋果批准您app._」這是不正確的。您的應用程序需要使用IPv6,但服務器只能使用IPv4。 Apple測試網絡使用NAT64來促進這一點。許多人在沒有IPv6服務器的情況下批准了他們的應用程序。我會主張每個人都將他們的服務器轉換爲IPv6,但這並不是獲得應用程序批准的要求。 –
根據評論更新了答案。 – esafwan
編輯並沒有真正解決答案。它仍然是使您的服務器可以通過IPv6訪問,而不是讓您的應用程序在IPv6上工作。 –