我已经创建了一个带有Apple Watch扩展程序的应用程序。
当您点击监视应用程序中的按钮时,会在ios应用程序中触发功能。
在此功能中,我创建一个json文件并将其发送到watch app。 当iPhone未锁定时,一切正常。 但是当iPhone被锁定时,我收到以下错误:
[错误]:无法在路径“/var/mobile/Containers/Data/Application/4015E77E-A694-4E43-8AF6-4858A5FD5958/Documents/arr.json”中将数据写入文件 - 详细信息:错误域= NSCocoaErrorDomain Code = 513“Sie haben nicht die Zugriffsrechte,um die Datei”arr.json“im Ordner”Documents“zu sichern。” UserInfo = {NSFilePath = / var / mobile / Containers / Data / Application / 4015E77E-A694-4E43-8AF6-4858A5FD5958 / Documents / arr.json,NSUserStringVariant = Folder,NSUnderlyingError = 0x14dd83fa0 {Error Domain = NSPOSIXErrorDomain Code = 1“Operation not not允许“}}
stranage的事情是,当我尝试从远程源保存该文件中的数据时它正在工作,但是当我尝试设置本地json字符串时,我收到此错误。
这是我保存数据的正常原因:
var jsontext = JSON.stringify(arrData);
var f = Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory,'arr.json');
f.write(jsontext);
这是远程数据的方式
var cache = require("ui/common/fileCache");
cache.loadJSON({
url : REMOTEURL,
path : cache.appDir + "arr.json",
last : false
});
fileCache.js
var c = Titanium.Network.createHTTPClient();
c.cache = false;
c.onerror = function(e) {
Ti.API.info('Daten-Caching :: ERROR :: URL = ' + params.url + ' Error=' + e.error);
};
c.onload = function(e) {
var f = Titanium.Filesystem.getFile(params.path);
f.write(c.responseData);
};
c.open('GET', params.url);
c.send();
我不明白为什么第二个代码在iphone被锁定而第一个代码没有时起作用。
有谁知道出了什么问题?