2017-08-23 11 views
1

iCloudドライブにPDFファイルを保存します。ユーザーは、iCloudドライブアプリでファイルにアクセスする必要があります。ファイルをiCloudドライブに保存するドキュメント(ユーザーアクセス)

現時点では、iCloudドライブにファイルを保存できますが、それは隠しディレクトリにあります。

struct DocumentsDirectory { 
    static let localDocumentsURL: NSURL? = FileManager.default.urls(for:  FileManager.SearchPathDirectory.documentDirectory, in:  .userDomainMask).last! as NSURL 
    static var url: NSURL? = FileManager.default.url(forUbiquityContainerIdentifier: nil)! as NSURL 
    static let iCloudDocumentsURL: NSURL? = url?.appendingPathComponent("Documents")! as! NSURL 
} 

このコードでは、私のアプリケーションに固有のiCloudドライブに隠しディレクトリがあります。

私の質問は、iCloudドライブの標準ドキュメントディレクトリにファイルを保存できますか?または、ユーザーが見ることができる私のアプリからのドキュメント用のフォルダを作成できますか?

+1

実際に私はそれを機能させました。私が参照する唯一の方法は、UIDocumentPickerViewControllerを使用することです。あなたがピッカーを必要としない優れたソリューションを知っていれば、私はそれを感謝します。 –

答えて

0

ファイルを 'Documents'ディレクトリに保存すると、ファイルがユーザーのパブリックディレクトリに保存され、iCloudアプリケーションにも表示されます。

func setupiCloudDriveForFileExport() { 

    if let iCloudDocumentsURL = NSFileManager.defaultManager().URLForUbiquityContainerIdentifier(nil)?.URLByAppendingPathComponent("Documents") { 
     if (!NSFileManager.defaultManager().fileExistsAtPath(iCloudDocumentsURL.path!, isDirectory: nil)) { 
      do { 
       try NSFileManager.defaultManager().createDirectoryAtURL(iCloudDocumentsURL, withIntermediateDirectories: true, attributes: nil) 
      }catch let error as NSError { 
       print(error) 
      } 
     } 
    } 
} 

このコードでは、iCloudのDocumentsディレクトリが存在するかどうかをチェックし、そうでない場合は新しいディレクトリを作成します。

関連する問題