2017-12-20 8 views
0

私はちょっとした問題を抱えています。PDFをダウンロードして保存しています。場所に保存する書き込みメソッドを使用しています。バージョンはiOS 10以降で動作するようですが、 iOS11で問題が発生しました。下のメソッドからfalseになっています。パスとバイトをチェックしました。両方のデバイスで同じです。スウィフト3 iOS 11の場所にデータを書き込まない

(try? data.write(to: invoiceFileUrl, options: [.atomic])) != nil 

答えて

0

この

let data = NSData(contentsOf:url! as URL) 

data?.write(to:invoiceFileUrl, atomically: true) 
0

は、あなたは、単に周りにファイルを移動しようとしている?してみてください私はあなたが上記のファイルをダウンロードするためにURLSessionを使用していると推測しています(または、とにかく)。

次に、FileManagerを使用して、一時ファイルをドキュメントまたはアプリケーションのコンテナ内の任意のディレクトリに移動できます。

FileManager.default.moveItem(atPath: temporaryPath, toPath: destinationPath) 

それは矛盾やその他の問題の全体の負荷にあなたを導くことができますので、私は個人的に(もう)多くの場合、パスを使用していないけれども:あなたもそこにあるパスを使用して好む場合

FileManager.default.moveItem(at:temporaryURL, to: destinationURL) 

対処したくないだけです。どんなバックエンドでも、NSURLまたはURLに移動すると、受信したデータをすばやく転送できます。それはあなたの人生をより簡単にし、最も重要なことに基礎API全体にわたってより一貫しています。

moveItemAtURL - Foundation documentation

関連する問題