簡體   English   中英

如何檢測用戶是否為我的應用啟用了iCloud?

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

我開發了支持iCloud的iPhone應用程序,但我遇到的問題是,即使用戶為我的應用程序關閉iCloud備份,它也會重新啟動iCloud並反映我的其他設備上的更改,所以我想知道如何我可以得到我的應用程序是否啟用了iCloud。

它專門用於App not for Device,如果設備啟用了iCloud,但我的應用程序已關閉,那么它不應該進行任何備份。

如果您使用的是鍵值而不是文檔存儲,我建議您使用此選項。

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

現在我推薦上述方法的原因是,在新的Xcode編譯器中,您現在可以決定是否要使用文檔存儲。 如果您選擇僅使用鍵值存儲,則NSFileManager檢查將失敗,因為您沒有在權利中定義容器標識符。 但是,如果用戶允許您的應用運行,ubiquityIdentityToken將始終存在,這意味着如果用戶允許您的應用訪問iCloud,它將始終觸發true或false。

請使用此選項檢查iCloud的狀態是否已啟用。

NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSURL *iCloudURL = [fileManager URLForUbiquityContainerIdentifier:nil]; 
NSLog(@"%@", [iCloudURL absoluteString]); 

if(iCloudURL){ 
NSUbiquitousKeyValueStore *iCloudStore = [NSUbiquitousKeyValueStore defaultStore]; 
[iCloudStore setString:@"Success" forKey:@"iCloudStatus"]; 
[iCloudStore synchronize]; // For Synchronizing with iCloud Server 
NSLog(@"iCloud status : %@", [iCloudStore stringForKey:@"iCloudStatus"]); 
}

這將告訴你它是否是ON / OFF :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM