2012-06-08 120 views
0

如何在不將信息存儲在iCloud上的情況下下載文件?如何將文件下載到機器而不將信息存儲在iCloud上?

我的應用程序是下載PDF到機器的應用程序。蘋果拒絕了這個理由:「特別是,我們發現在下載兩個問題之後,您的應用商店需要56.5 MB。要查看您的應用存儲了多少數據: - 轉到設置> iCloud>存儲&備份>管理存儲「。如果信息沒有存儲在iClound中,我想知道如何編寫。

我的腳本:

- (void) DownloadFile:(NSURL *)url Name:(NSString *)name Folder:(NSString *)folder{ 

    NSFileManager *fileManager = [NSFileManager defaultManager]; 
    NSData *myData = [NSData dataWithContentsOfURL:url]; 
    NSString *file = [NSString stringWithFormat:@"%@/%@",folder,name]; 

    if(![fileManger fileExistsAtPath:file]){ 
     [fileManger createFileAtPath:file contents:myData attributes:nil]; 
    } 
} 

回答

0

只是存儲在應用程序文件目錄中的PDF文件。通過使用iCloud的鍵值存儲,您仍然可以跟蹤哪些設備已下載哪些文件。但是,要下載到設備上的文件必須來自非iCloud服務器。

您可能還必須實現一個用戶界面,以顯示哪些文件已下載以及哪些文件可用,並在需要時從設備中刪除它們。

+0

我應該在NSManager刪除對象? for(NSManagedObject * object in moc.registeredObjects){0} {0} {moc deleteObject:object]; } ref:http://stackoverflow.com/questions/8021753/crash-when-adding-persistent-store-icloud-enabled-in-app-delegate –

+0

不,你爲什麼要那樣做? – Mundi

0

呵呵謝謝它完全

#import <sys/xattr.h> 
.... 

-(BOOL) addSkipBackupAttributeToItemAtURL:(NSURL *)URL{ 
    if(&NSURLIsExcludeFromBackupKey == nil){ 
     const char* filePath = [[URL path] fileSystemRepresentation]; 
     const char* attrName = "com.apple.MobileBackup"; 
     u_int8_t attrValue = 1; 
     int result = setxattr(filePath, attrName, &attrValue, sizeof(attrValue), 0, 0); 
     return result == 0; 
    }else{ 
     return [URL setResourceValue:[NSNumber numberWithBool:YES] forKey:NSURLIsExcludedFromBackupKey error:nil]; 
    } 
} 

- (void) DownloadFile:(NSURL *)url Name:(NSString *)name Folder:(NSString *)folder{ 

    NSFileManager *fileManager = [NSFileManager defaultManager]; 
    NSURL *curfile = [NSURL fileURLWithPath:folder]; 
    [self addSkipBackupAttributeToItemAtURL:curfile]; 
    NSData *myData = [NSData dataWithContentsOfURL:url]; 
    NSString *file = [NSString stringWithFormat:@"%@/%@",folder,name]; 

    if(![fileManger fileExistsAtPath:file]){ 
     [fileManger createFileAtPath:file contents:myData attributes:nil]; 
    } 
} 

謝謝

相關問題