我的基于离子的应用在使用我的真实设备上使用ionic run android
部署时可以正常工作。但是,当我从Google Play下载完全相同的版本时,所有$ HTTP请求都会失败:
09-15 18:59:02.901: I/chromium(22744): [INFO:CONSOLE(26799)] "Failed to log in user [...]:
{"data":null,
"status":-1,
"config": {
"method":"GET",
"transformRequest":[null],
"transformResponse":[null],
"url":"https://example.com/something",
"headers":{
"Accept":"application/json, text/plain, */*",
"Authorization":"Basic c2ltb2324Ghlbmlu5322Ng=="}
},
"statusText":""}",
source: file:///android_asset/www/lib/ionic/js/ionic.bundle.js (26799)
这是我用于我的请求
$http.get(config.apiUrl + "/user/").then(function (response) {
}
callback && callback($rootScope.authenticated, response.data);
}, function (err) {
$log.info("Failed to log in user [...]: " + JSON.stringify(err));
});
该应用程序现在工作了一年,但是由于最后一个上传的版本我有这个问题。我没有更新离子或任何东西,我的构建环境不应改变。如果我使用本地的APK,它确实可以在同一设备上使用,但与Google Play One不使用。
哦,我的天哪,我终于弄清楚了这个主题:https://stackoverflow.com/a/32030346/606513
同意 - 生产版具有启用证书检查,而调试版本则没有。我的Web服务器的证书已经过时了(由于某种原因,Letsencrypt续订无法正常工作)。更新证书解决了我所有问题!