ios - coredata sqlite location, Library/Application Support and iCloud -
we got rejected during review process following issues:
==========
2.23
we still found app not follow ios data storage guidelines, required per app store review guidelines.
in particular, found on launch and/or content download, app stores non user-generated content in icloud backup directories, not appropriate. check how data app storing:
- install , launch app
- go settings > icloud > storage & backup > manage storage
- if necessary, tap "show apps"
- check app's storage
the ios data storage guidelines indicate content user creates using app, e.g., documents, new files, edits, etc., should backed icloud.
temporary files used app should stored in /tmp directory; please remember delete files stored in location when user exits app.
data can recreated must persist proper functioning of app - or because customers expect available offline use - should marked "do not up" attribute. nsurl objects, add nsurlisexcludedfrombackupkey attribute prevent corresponding file being backed up. cfurlref objects, use corresponding kcfurlisexcludedfrombackupkey attribute.
==========
our (ios 6 only) app holds user's collection of favourite cars.
we prepopulate collection collection of classic cars can delete, or edit please within app. entire databse of cars, including user creates , preloaded entries, should backed icloud.
currently, each car, whether created user or 1 of starting collection, stored within /library/application support/com.company.appname/datamodel.sqlite understand backed icloud. car entries have image file saved in same directory sqlite database file.
the cars presented in tableview using fetchedresultscontroller , standard core data code.
here of relevant documentation.
https://developer.apple.com/icloud/documentation/data-storage/
having read through these, still unclear how conform guidelines if have database needs backed must start preloaded, user modifiable/deletable items?
use separate persistent store seed data. backup seed cars have been modified user.
this easy do. @ recent apple examples wwdc 2013. scenario reason apple invented nspersistentstorecoordinator
.
you introduce attribute indicates if entry "seed" or not (you set false once edited , copy on other store).
Comments
Post a Comment