Search code examples
iosmacosicloudtvos

Is data stored in iCloud using Key/Value accessible by users?


I have an application that is implementing storage using Key/Value pairs in iCloud. From what I read in the documentation this is almost identical to the way NSUserDefaults work.

However this potentially creates a problem because the user should not have the ability to tamper with the app data stored in there. Does this mean that the user can access this data and modify it? Or is it private to the application?


Solution

  • Okay reading deeply in the documentation it says

    If your app needs to store passwords, do not use iCloud storage APIs for that. The correct API for storing and managing passwords is Keychain Services, as described in Keychain Services Reference.

    I found this text here just one line before the last table :)

    I also found somewhere that the user can delete his iCloud data manually which can be counted as a modification.

    Also, read here, section fro "Start Fresh If Your iCloud Data Becomes Inconsistent During Development" where it says how you can clean the container. Maybe you can check what is visible inside.