Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to detect if the user has iCloud enabled for my app?

I have developed an iCloud enabled iPhone App, but the issue I m facing is that even if user turn off iCloud backup for my App then also it takes back up on iCloud and reflect changes on my other devices, so I want to know that how can I get that my App is iCloud enabled or not.

It's specifically for App not for Device, if device is iCloud enabled but my App is turned off then it should not take any back ups.

like image 421
Eager Beaver Avatar asked Feb 26 '13 06:02

Eager Beaver


1 Answers

I recommend using this instead if you are using key-value and not document storage.

id iCloudToken = [[NSFileManager defaultManager] ubiquityIdentityToken];
if ( iCloudToken != nil) {
// User has enabled icloud in your app...
} else {
// Icloud is not enabled for your app...
}

Now the reason i recommend the method above is that in the new Xcode compiler you can now dictate if you are going to use document storage or not. If you choose to only use key-value storage, the NSFileManager check will fail as you will not have the container identifier defined in the entitlements. However, ubiquityIdentityToken will always exists if the user has allowed your app to run meaning it will always fire true or false if the user has allowed your app access to iCloud.

like image 138
Kabe Avatar answered Sep 20 '22 14:09

Kabe