【问题标题】:Where to store downloaded data in iPhone application?iPhone应用程序在哪里存储下载的数据?
【发布时间】:2015-07-27 00:51:18
【问题描述】:

我的应用程序中有一个场景,我需要使用我的应用程序下载 mp3、pdf、文本文件。

如何使用我的应用程序下载数据以及将数据存储在何处?

【问题讨论】:

标签: ios


【解决方案1】:
NSString *stringURL = @"http://www.somewhere.com/thefile.png";
NSURL  *url = [NSURL URLWithString:stringURL];
 NSData *urlData = [NSData dataWithContentsOfURL:url];
if ( urlData )
{
 NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  NSString  *documentsDirectory = [paths objectAtIndex:0];  

 NSString  *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"filename.png"];
 [urlData writeToFile:filePath atomically:YES];
} 

您可以存储在文档目录中,以下是存储图像的示例。以下是存储音频视频文件的链接说明

How to download audio/video files from internet and store in iPhone app?

【讨论】:

    【解决方案2】:

    文档目录最适合存储数据。

    NSString *path = [[self applicationDocumentsDirectory].path 
                           stringByAppendingPathComponent:@"fileName.txt"];
    [sampleText writeToFile:path atomically:YES
                           encoding:NSUTF8StringEncoding error:nil];
    
    - (NSURL *)applicationDocumentsDirectory {
        return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory 
             inDomains:NSUserDomainMask] lastObject];
    }
    

    【讨论】:

    • 我不确定...这取决于要存储的数据。 Apple 多次拒绝我的应用程序,因为我在 Doc 文件夹中存储图像(可能太多)。
    【解决方案3】:

    这取决于您需要如何处理数据。如果可以重新创建或下载数据,请将其保存在 temp o cacje 目录中。如果数据由用户创建并且必须备份,您可以使用 Documents 与 iCloud 同步。 我建议您阅读 Apple 文档,因为如果您这样做错误,您的应用程序可能会被拒绝。 https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html

    您可以排除要备份的文件(并存储在 Documents 文件夹中) https://developer.apple.com/library/ios/qa/qa1719/_index.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-02
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 2014-12-05
      • 2011-12-20
      • 1970-01-01
      相关资源
      最近更新 更多