I am using NSUbiquitousKeyValueStore to sync some preference data to iCloud. I found that if the user disable \"Document & Data\" item of iCloud in \"Settin
I don't know if the docs have been updated, but Apple is now saying:
To determine if iCloud is available, especially at launch time, check the value of the ubiquityIdentityToken property instead
See NSFileManager for both ubiquityIdentityToken and URLForUbiquityContainerIdentifier.
Note also that Apple is saying that URLForUbiquityContainerIdentifier can be relatively slow, and that checking ubiquityIdentityToken is relatively fast.
This is for iOS6 and higher.