2016-04-12 12 views
-4

サーバーから多数の画像をダウンロードするアプリがあります。システムの主な特徴は、画像をオフラインで見ることができることです。アプリプラットフォームはiPadsをターゲットにしています(画像は実際に音楽のリードシートです)。ios 9 iCloudなしでアプリケーションデータを保存する場所とiTunesで拒否されない場所

これらの画像はどこで保存できますか? App Documnetsフォルダを使用すると、AppleはiTunesからあなたのアプリを拒否するという様々な投稿を見ました。このアプリケーションの機能はオフラインで動作するため、iCloudの場所は機能しません。

他の投稿には、cacheまたはtmpディレクトリを使用することが記載されていますが、イメージはガベージコレクションされる可能性があります。

私は新しくiOSを使い、迅速にアプリを構築します。任意のポインターや提案をいただければ幸いです。どうも。

+1

What ???私はそれが書かれている場所を本当に知っていませんが、他のアプリケーションは、実際には、ドキュメントフォルダの** 1GB **を使用しています!あなたはそれをすることができます、心配しないでください –

+1

[ユーザーデータiOSを格納する方法]の可能な複製(http://stackoverflow.com/questions/23740392/how-to-store-user-data-ios) – Caleb

+0

本当に何もありませんここでスイフトに特有です。 – Caleb

答えて

1
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"url.png"]; 

UIImage *image = [[UIImage alloc] initWithContentsOfFile:path]; 

試してみてください。

+0

指定された言語を使用するとよいでしょうが、質問は実際には言語に関するものではありません。この答えの主な問題は、コードが答えの重要な部分を隠すことです。これはNSDocumentsDirectoryです。 – Caleb

0
1.imageNamed. 

2.Use NSData to load. 

NSString *filePath = [[NSBundle mainBundle] pathForResource:fileName ofType:extension]; 
NSData *image = [NSData dataWithContentsOfFile:filePath]; 
[UIImage imageWithData:image]; 
3. Use [UIImage imageWithContentOfFile:] or [image initWithContentOfFile:] 
NSString *filePath = [[NSBundle mainBundle] pathForResource:fileName ofType:@"imageName"]; 
[UIImage imageWithContentsOfFile:aImagePath]; 
0

あなたが知っておく必要があるのは、使用する「パス」だけです。 (PS:iOSシミュレータを使用した場合、フォルダが変化し続けるだろう)

割引:

func saveImage (image: UIImage, filename: String) -> Bool{ 
    let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0] 
    let filePath = documentsURL.URLByAppendingPathComponent(filename).path! 
    let pngImageData = UIImagePNGRepresentation(image) 
    let result = pngImageData!.writeToFile(filePath, atomically: true) 
    return result 
} 

使用法:saveImage(myImage, filename: "hola.png")

ロード:

func loadImageFromPath(filename: String) -> UIImage? { 
    let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0] 
    let filePath = documentsURL.URLByAppendingPathComponent(filename).path! 
    let image = UIImage(contentsOfFile: filePath) 
    if image == nil { 
     print("missing image at: \(filePath)") 
    } 
    return image 
} 

用途:loadImageFromPath("hola.png")

関連する問題