2012-06-08 2 views
0

Как скачать файл без сохранения информации о iCloud?Как загрузить файл на компьютер без сохранения информации о iCloud?

Мое приложение - это приложение для загрузки PDF на компьютер. Это было отклонено Apple по той причине, что «В частности, мы обнаружили, что после загрузки двух проблем ваше приложение хранит 56,5 МБ. Чтобы проверить, сколько данных хранится ваше приложение: - Перейдите в« Настройки »>« 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? для объекта (NSManagedObject * in moc.registeredObjects) { [moc deleteObject: object]; } ref: http://stackoverflow.com/questions/8021753/crash-when-adding-persistent-store-icloud-enabled-in-app-delegate –

+0

Нет, зачем вам это делать? – Mundi

0

OH Спасибо, что полный

#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]; 
    } 
} 

Спасибо

Смежные вопросы