LoginSignup
12
11

More than 5 years have passed since last update.

iCloudDrive / DropBoxとのファイル連携

Last updated at Posted at 2016-01-05

iOS(swift)でiCloud Drive / DropBoxとファイルの連携を行う

UIDocumentPickerは、ファイルの操作(アップロード、ダウンロード)についていい感じのUIを提供してくれます。
外部のストレージのサービスとの連携が楽になります。

エクスプローラよろしく、
・フォルダを指定して、そこにアップロード
・ファイルをタップして選択、そしてダウンロード
ができます。
サービスの切り替えも、UI上で可能です

DropBoxは独自にファイル選択のUIを持っていますが、UIDocumentPickerを使えば、だいたい同じ見た目で、操作可能です。
(内部的にDropBoxのアプリを呼んでいるようなので、完全なる一致はないですが)

LowLevelなAPIでの実装も可能ですが、いつも通り
XCode 7.2では動かなくなっちゃったので、需要があれば直して公開します。

・前提
 - DropBoxとの連携を行う場合、DropBoxのアプリがインストールされている事
 - エラー処理はちゃんとやりましょう
 - デリゲートを実装しましょう
 
・Export
// URLは、ファイルを想定しています。
let documentPicker = UIDocumentPickerViewController(URL: url, inMode: UIDocumentPickerMode.ExportToService)
documentPicker.delegate = self
self.presentViewController(documentPicker, animated: true, completion: nil)

・Import
let array = ["public.image"]
let documentPicker = UIDocumentPickerViewController(documentTypes: array, inMode: UIDocumentPickerMode.Import)
documentPicker.delegate = self
self.presentViewController(documentPicker, animated: true, completion: nil)

・デリゲート
func documentPicker(controller: UIDocumentPickerViewController, didPickDocumentAtURL url: NSURL) {

}
func documentPickerWasCancelled(controller: UIDocumentPickerViewController) {

}

12
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
11