簡體   English   中英

如何在iPhone中設置iCloud根目錄?

[英]How to set iCloud Root in iPhone?

在這里,我創建了用於文檔存儲的本地根目錄,但是我想實現iCloud.so,因此我需要創建iCloud Root,並且我還將檢查iCloud是否可用。 如果有可能創建類似方法。 在這里,我添加了本地根方法代碼

- (NSURL *)localRoot {

if (_localRoot != nil) {
    return _localRoot;
}


NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *artdirectoryPath = [documentsDirectory stringByAppendingPathComponent:@"/Me"];


_localRoot=[[NSURL alloc]initFileURLWithPath:artdirectoryPath];


return _localRoot;
  }

您可以使用以下命令找到iCloud“根”目錄:

NSURL *url = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];

如果您的應用只有一個普遍存在的容器,則可以為參數傳遞nil ,否則必須傳遞容器標識符。

您還可以使用它來檢查iCloud是否可用於您的應用程序-如果返回nil ,則不能使用iCloud。 但是,這並不是檢查可用性的最佳方法,因為它可能會阻塞一段時間。 為了快速進行無阻塞檢查,請使用以下命令:

id token = [[NSFileManager defaultManager] ubiquityIdentityToken];

然后,請確保遵守NSUbiquityIdentityDidChangeNotification ,以防可用性發生變化。

但是:這遠遠不足以開始將iCloud用於文檔。 您不能只讀取/寫入該目錄中的文件並讓iCloud做正確的事。 至少需要滿足以下條件:

  • NSMetadataQuery查找雲服務器上存在但未本地下載的文檔。
  • -[NSFileManager startDownloadingUbiquitousItemAtURL:error:]告訴iCloud開始下載通過元數據查詢找到的文檔。
  • 通過NSFileCoordinator協調訪問,並通過NSFilePresenter進行更改通知。

蘋果有很多文檔,以及來自WWDC的視頻將對此有所幫助。

暫無
暫無

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

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