2014-10-06 142 views
-1

我想要創建一個應用程序,該應用程序會自動從我自己的服務器下載文件夾並將其存儲在本地iPad/iPhone上。我怎樣才能做到這一點,該文件夾存儲在本地iDevice上?因此,我以後如何訪問它?非常感謝您的幫助將文件夾從服務器下載到本地iPad/iPhone

+0

而不是投下來,它會更有幫助,如果我知道如何做到這一點,我不會問 – 2014-10-06 06:43:27

+0

這太寬泛了,你需要拿出一個計劃,實施它,然後提出問題你有特定的問題。網上有很多教程來幫助一般數據存儲。 – Wain 2014-10-06 06:55:25

+0

iOS設備沒有可用於所有應用程序的通用文件系統。您的應用程序可以在其自己的沙箱中創建文件 - https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html – Paulw11 2014-10-06 06:57:18

回答

0

這樣做實際上是把一個壓縮文件中的所有例如圖片,下載並使用此代碼解壓它在實際設備上的最佳方式:

dispatch_queue_t queue = dispatch_get_global_queue(
                DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); 
dispatch_async(queue, ^{ 
    NSURL *url = [NSURL URLWithString:@"someDirectory/newPics.zip"]; 
    NSError *error = nil; 
    // 2 
    NSData *data = [NSData dataWithContentsOfURL:url options:0 error:&error]; 

    if(!error) 
    { 
     // 3 
     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); 
     NSString *path = [paths objectAtIndex:0]; 
     NSString *zipPath = [path stringByAppendingPathComponent:@"newPics.zip"]; 

     [data writeToFile:zipPath options:0 error:&error]; 

     if(!error) 
     { 

      ZipArchive *za = [[ZipArchive alloc] init]; 
      // 1 
      if ([za UnzipOpenFile: zipPath]) { 
       // 2 
       BOOL ret = [za UnzipFileTo: path overWrite: YES]; 
       if (NO == ret){} [za UnzipCloseFile]; 

       // 3 
       NSString *imageFilePath = [path stringByAppendingPathComponent:@"newPics/pic1.png"]; 
       //[self removeImage:zipPath]; 


       [[NSFileManager defaultManager] removeItemAtPath:zipPath error: &error]; 

       dispatch_async(dispatch_get_main_queue(), ^{ 

         NSURL *fileURL = [NSURL fileURLWithPath:imageFilePath]; 
         [_webV loadRequest:[NSURLRequest requestWithURL:fileURL]]; 



       }); 

      } 

     } 
     else 
     { 
      NSLog(@"Error saving file %@",error); 
     } 
    } 
    else 
    { 
     NSLog(@"Error downloading zip file: %@", error); 
    } 

}); 

這是最好的辦法,快速和可靠。

相關問題