Documentation is not clear on how to use NSUbiquitousKeyValueStore
with edge cases.
If I want to set a value, I understand that I should set a value to both NSUserDefaults
and NSUbiquitousKeyValueStore
since iCloud could be disabled. However in my tests [NSUbiquitousKeyValueStore defaultStore]
return a valid object even if iCloud is disabled (tested on Mac OS).
Also, to my understanding is that if iCloud is enabled, NSUbiquitousKeyValueStore
's values are stored to disk (and available offline). What are the reason to use NSUserDefaults if you are sure that you have less than 64KB of data?