私にとってはUIFileSharingEnabled
、Info.plist に追加することで、アプリを iTunes ファイル共有で利用できるようにします。
次に、リソースをロードするための呼び出しをカスタム メソッドでラップします。次に例を示します。
- (NSString *)pathForImage:(NSString *)imageName
{
// Somewhere like this:
// /var/mobile/Applications/01234567-89AB-CDEF-0123-456789ABCDEF/Documents/images/
NSString *imagesPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
imagesPath = [imagesPath stringByAppendingPathComponent:@"images"];
NSString *path = [imagesPath stringByAppendingPathComponent:imageName];
if ([[NSFileManager defaultManager] fileExistsAtPath:path])
{
return path;
}
else
{
NSString *fileName = [imageName stringByDeletingPathExtension];
NSString *fileExt = [imageName pathExtension];
return [[NSBundle mainBundle] pathForResource:fileName ofType:fileExt];
}
}
そして、私の画像読み込みコードを
[UIImage imageNamed:@"foo.png"];
に
[UIImage imageWithContentsOfFile:[self pathForImage:@"foo.png"]];
次にデザイナーがリソースを更新したい場合、彼/彼女は iTunes を開いて、新しいファイルをアプリにドラッグ アンド ドロップできます。
iTunes ファイル共有の詳細については、Apple のドキュメントを参照してください。
更新: アプリでエンド ユーザー向けに iTunes ファイル共有を利用していない場合UIFileSharingEnabled
は、Info.plist で削除して無効にすることを忘れないでください。そうしないと、使用されていない機能を有効にしたために Apple がアプリを拒否する可能性があり、ユーザーを混乱させる可能性があります。