2015-06-04 3 views
0

Я отправил свое приложение в AppStore, но мое приложение отклонило его.IOS отклонен из AppStore

Это причина: enter image description here

Я уже работаю по этой ссылке, но мое заявление было отклонено тоже. 2.23: Apps must follow the iOS Data Storage Guidelines or they will be rejected

+0

Приложение хранит много данных, которые не нужно копировать? – nick

ответ

3

Как правило, это означает, что вы храните некоторые данные, кэш-файлы или изображения профиля, например, которые могут быть воссозданы/redownloaded вашим приложением, в месте, которое ICloud будет резервное копирование. Это отнимает данные пользователей и пространство на сервере для Apple. В течение последних 6 месяцев они действительно сталкивались с этим.

Вы можете хранить файлы в месте, не подкрепленном iCloud (/ Library/Application Support), или пометить файлы с атрибутом do not backup.

Получить эту папку в коде следующим образом:

NSString* appSupportFolder = [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES) firstObject]; 

Вот категории вы можете использовать, чтобы установить не резервный атрибут:

@implementation NSURL (DoNotBackupAttribute) 

- (BOOL)dw_addDoNotBackupAttribute 
{ 
    if (![[NSFileManager defaultManager] fileExistsAtPath:[self path]]) return NO; 

    __autoreleasing NSError* error = nil; 
    if (![self setResourceValue:@(YES) forKey:NSURLIsExcludedFromBackupKey error:&error]) { 
     NSLog(@"Error: failed to set do not backup attribute on file %@, error: %@", self, [error localizedDescription]); 
    } 

    return YES; 
} 

@end 
+0

Итак, где я могу сохранить свои данные? –

+0

Обновленный ответ с возможным расположением. –

+0

ОК, ткс вы. Я повторно отправлю и жду результата. –

0

Проблема заключается в том, что ваше приложение начинается с хранения 252.96 МБ данных!

Вы не можете создать приложение таким образом. Помните, что пользователь имеет ограниченное пространство для хранения и резервного копирования. документация Apple, очень четкое представление о правилах здесь:

https://developer.apple.com/icloud/documentation/data-storage/index.html

Вы должны хранить ваши большие данные только в каталоге кэши, где можно продувать и где она не будет подкреплена.

+0

В то время как 250+ мега-много, я видел это отклонение в приложении, которое хранило файл 41 КБ неуместно. Что кажется безумным, пока вы не заметите, что приложение может иметь большой объем пользователей и по-прежнему стоит тонну для хранения в системе iCloud. –

+1

Хорошо, но я считаю, что OP явно не потрудился проконсультироваться с документацией Apple, хотя Apple и сказала ему. – matt

0

Если вы храните много данных, которые могут быть загружены повторно или регенерированы, вы хотите сохранить их в <Application_Home>/Library/Caches, а не в каталоге <Application_Home>/Documents.

В качестве альтернативы вы можете запретить устройству создавать резервные копии определенных файлов в iCloud с помощью метода addSkipBackupAttributeToItemAtURL в вашем делете приложения.

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