2017-08-15 2 views
1

このエラーに関する多くの情報が見つかりません。私は、ユーザのファイルを「プライベートドキュメント」というサブディレクトリに保存していた非常に古いiOSアプリケーションを更新しています。以前のアプリケーションバージョンで作成されたファイルをユーザーライブラリに開くことができません

正常に作成されたファイルを一覧表示できますが、そのファイルを読み取ることができず、「ファイル」1.xxx「閲覧権限がないため開けませんでした」というエラーが表示されます。

let urls = FileManager.default.urls(for: .libraryDirectory, in: .userDomainMask) 
guard let documentDirectory = urls.first else { 
    print("Cannot find old lib documents directory") 
    return 
} 

guard let files = try? FileManager.default.contentsOfDirectory(at: documentDirectory.appendingPathComponent("Private Documents", isDirectory: true), includingPropertiesForKeys: nil, options: FileManager.DirectoryEnumerationOptions.skipsHiddenFiles) else { 
    print("Cannot load old lib files directory") 
    return 
} 

ファイルには、このディレクトリに正しくファイルURLの配列が含まれるようになりました。

ただし、FileManager.default.isReadableFileを呼び出すと、この関数は常にtrueを返しますが、ファイルをData(contentsOf:file)オブジェクトにコピーしようとすると上記のエラーが発生します。

ヘルプありがとうございました!

アップデート:Checking app signing etc、現在のApp StoreのバージョンをTestFlightビルドと比較しています。同じ問題があります。

+0

プロジェクトをクリーニングし、派生データを消去してみます。動作しない場合は、ビルド設定でコンパイラをDefault Compilerに変更してみてください。 – koropok

+0

これらの両方を試してみましたが、通常、このエラーを見ると、実行可能ファイルを変更したために実際のアプリケーションがXcode経由で実行されないと不平を言う人たちのものです – mm282

答えて

0

問題は、私が読んでいたファイルが実際にディレクトリ(パッケージ)だったということでした。したがって、すべてのパーミッション、所有権、isReadable/isWritableは正しいです。

アップルのエラーではそれが問題ではないことは残念です。

関連する問題