上下文:
您好,我正在开发Ionic应用程序(使用Typescript制作)。在此应用程序中,我通过对IP的HTTP请求(确切地说是http://192.72.1.1/myCommand
)控制wifi摄像机。
我使用相机进行的主要操作:
当我使用Ionic DevApp时:
有了Ionic DevApp,一切都可以完美运行,我可以毫无问题地进行所有电源操作。
当我在IOS上编译应用程序时:
我使用命令ionic cordova build ios --prod
进行编译,然后使用Xcode存档并将其发送到AppStore以使用“测试飞行”进行测试。
编译/存档应用程序时没有错误。但是,当我在iPhone上试用时,我可以开始/停止录制,但无法下载视频。
问题:
某些命令不起作用,但是我不知道它是否正在获取列表或下载视频,我没有日志。我不明白为什么有些命令可以工作,而另一些则不能。
IOS阻止下载请求吗?如何解决我的问题?
注释:
某些代码:
启动/停止摄像头:(与启动/停止相同的命令)。
startCamera(){
var url = "http://192.72.1.1/changeRecordStatus";
var result = this.http.get(url);
result.subscribe(data => {
console.log("Works");
},
err => {
console.log("Error" + err);
}
);
}
获取最后一个视频的名称:
getLastVideo(){
var url = "http://192.72.1.1/listVideos";
this.http.get(url, {}, {})
.then(data => {
var xml = data.data
var xmlDOM = new DOMParser().parseFromString(xml, 'text/xml');
var temp = this.xmlToJson(xmlDOM); // function that convert XML to JSON
var resultArray = Object.keys(temp).map(function(i){
let ite = temp[i];
return ite;
});
resultArray = resultArray[0]['file'].reverse();
this.lastVideo = resultArray[0]['name']; // lastVideo is a global variable
},
(error) =>{
console.log("Error while getting the name of the last video" + error);
});
}
从相机下载文件:
downloadFileFromCamera() {
this.getLastVideo();
var basename_file = this.lastVideo;
var url = "http://192.72.1.1" + basename_file;
this.fileTransfer.download(encodeURI(url), this.file.dataDirectory + '/videos/' + basename_file, true).then((entry) => {
this.video[this.counterVideos] = entry; // video is a global array
this.counterVideos +=1;
}, (error) => {
console.log("Error while downloading the last video" + error);
});
}
如果有人知道如何解决我的问题,我将非常感激!预先感谢。