2017-05-12 3 views
0

Apple TVデバイスでjsonファイルを作成してデータを保存しようとしていますが、createFile(...)は常に失敗し、falseを返します。私はabsolutePath、relativePath、そして成功しなかったパスで試してみました。 jsonData変数は、私の実装ではうまく作成され、それがシミュレータ上で動作しますTVOS FileManagerのcreateFileがエラー1で失敗する

self.fileName = "MyFileTest" 
self.directory = .documentDirectory 

let documentsDirectory = fileManager.urls(for: self.directory, in: .userDomainMask)[0] 

self.fullyQualifiedPath = documentsDirectory.appendingPathComponent(self.fileName).appendingPathExtension("json").path 

do { 
    let jsonData = try convertObjectToData(data: dataForJson) 
    if !fileManager.createFile(atPath: fullyQualifiedPath, contents: jsonData as Data, attributes: nil) { 
     print("File Manager failed at createFile") 
     throw FileErrors.FileNotSaved 
    } 
} catch { 
    print("Unable to create json file \(error.localizedDescription)") 
    throw FileErrors.FileNotSaved 
} 
ここ

のCreateFileが失敗し、falseを返し、次がプリントアウトされます。

ファイルマネージャはCreateFileの時にできない障害が発生しましたjsonファイルを作成します。 操作を完了できませんでした。 (TestAppTVOS.FileSaveHelper(FileErrors _70D0A1275AC2AFFFA4ED048E3A809030に)エラー1.)

fullyQualifiedPath変数値である:

の/ var /モバイル/コンテナ/データ/アプリケーション/ 00DCB709-5EC6-40FC -BB21-D797EB4FE2F5 /ドキュメント/ MyFileTest.json

そのエラーメッセージのうちの「エラー1」と「完了できませんでした操作」を行うことがわかりませんか? Swift 3のためにこれを正しく動作させるにはどのようなアイディアが必要ですか?

答えて

0

これに少しあまりにも多くの時間を過ごした後、それがどのフォルダ私は、ファイルを作成していたために関連していたようだ。

私はサンドボックスモード/デバッグにいると私は代わりに、Documentsフォルダに書き込むことができませんでしたキャッシュフォルダに切り替える必要がありました。

例えば

self.directory = .cachesDirectory 

作品になりました。

関連する問題