ファイルプラグインが動作しないことがわかりました。このようなCordova-plugin-file getFile/getDirectoryコールバックがありません。
My機能:
function (filename, fileObj, succCallback) {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fs) {
fs.root.getFile(filename, {create: true, exclusive: false}, function(fileEntry){
fileEntry.file(function (file) {
var reader = new FileReader();
reader.onloadend = function() {
if(typeof succCallback === 'function') {
succCallback(this.result);
}
};
reader.readAsText(file);
}, myfile.errorHandler);
}, errorHandler);
}, errorHandler);
}
機能は "window.requestFileSystem" SUCCを行うが、fs.root.getFileは/機能に失敗SUCCを発射ません。 "CDVFile.m"をデバッグしようとしましたが、Objective-Cコードがexec overであることがわかりました。
"CDVFile.m" ではgetFile:
- (void)getFile:(CDVInvokedUrlCommand*)command
{
NSString* baseURIstr = [command argumentAtIndex:0];
CDVFilesystemURL* baseURI = [self fileSystemURLforArg:baseURIstr];
NSString* requestedPath = [command argumentAtIndex:1];
NSDictionary* options = [command argumentAtIndex:2 withDefault:nil];
NSObject<CDVFileSystem> *fs = [self filesystemForURL:baseURI];
CDVPluginResult* result = [fs getFileForURL:baseURI requestedPath:requestedPath options:options];
[self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
}
上記のように、ファイルのプラグイン(ソースコード "DirectoryEntry.js")succCallback(FUNC勝つ)の火災ではないていたが、どちらもfailCallback(FUNC失敗します)。 "DirectoryEntry.js":
DirectoryEntry.prototype.getFile = function(path, options, successCallback, errorCallback) {
argscheck.checkArgs('sOFF', 'DirectoryEntry.getFile', arguments);
var fs = this.filesystem;
var win = successCallback && function(result) {
var FileEntry = require('./FileEntry');
var entry = new FileEntry(result.name, result.fullPath, fs, result.nativeURL);
successCallback(entry);
};
var fail = errorCallback && function(code) {
errorCallback(new FileError(code));
};
exec(win, fail, "File", "getFile", [this.toInternalURL(), path, options]);
};
マイXCodeのバージョン:7.3(iOSのSDK 9.3で) マイコルドバのバージョン:6.5.0 コルドバ・プラグイン・ファイル4.3.2
私の "ファイル" config.xmlには次の設定が追加されました:
<preference name="iosPersistentFileLocation" value="Library" />
<preference name="iosExtraFilesystems" value="library,library-nosync,documents,documents-nosync,cache,bundle,root" />
誰も同じ問題を抱えていますか?または、私にいくつかのヒントを、ありがとう!
2017年4月27日追加発言:
The debug png why no callback fired
コールバックがトリガーされませんなぜ私が見つかりました。しかし、なぜそれが "succssとNO_RESULT"なのかわかりませんでした...