Titanium保存文件 - 无法将数据写入路径

时间:2016-04-05 21:19:12

标签: ios iphone appcelerator apple-watch appcelerator-titanium

我已经创建了一个带有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被锁定而第一个代码没有时起作用。

有谁知道出了什么问题?

0 个答案:

没有答案