8

iOS アプリケーションに関連するサーバー側の帯域幅のコストを節約するために、実行時にダウンロードできる一連のアセットを iOS アプリケーション バンドルにパッケージ化しました。書かれたアプリケーションのコンテキストでは、ユーザーが書き込み可能なディレクトリの1つからファイルにアクセスできれば理想的です([App Dir]/Library/Application Support/My Custom Subfolder/例: )。

.../My Custom Subfolder/APIを使用してバンドル内のファイルへのシンボリック リンクを正常に作成することができましたが、後でコンテンツにアクセスするために使用するフレームワークNSFileManagerAPIcreateSymbolicLinkAtURL:withDestinationURL:error:の一部が間抜けになり、シンボリックに関連する属性とデータを返してくれます。基になるファイルの代わりにリンク。他のフレームワーク API を利用することでこれらの問題を軽減できる可能性がありますが、不適切な使用の範囲によっては、多くの作業が必要になる可能性があります。

NSFileManagerシミュレーターでは、 APIを使用してバンドル コンテンツへのハード リンクを作成することで、この問題をうまく回避できましたlinkItemAtURL:toURL:error:。ハード リンクは、アプリ全体で使用されるすべてのファイル アクセス API でうまく機能し、すべてがうまく機能しました。ただし、DEVICE (iOS 7.0.2 を実行する iPhone 5c および iOS 7.1 を実行する iPad でテスト) では、NSCocoaErrorDomain 513 error (Operation could not be completed. Operation not permitted.). でテスト ファイルを.../My Custom Subfolder/作成し、同じフォルダーにそのファイルへのハード リンクを作成することはできますが、読み取り専用アプリケーション バンドル内の何かにハードリンクしようとすると、513 エラーが発生します。

私がやろうとしていることを達成するためにパーミッションエラーを回避する方法があるかどうかは誰にも分かりますか?

4

1 に答える 1