プログラムを書こう!

実務や自作アプリ開発で習得した役に立つソフトウェア技術情報を発信するブログ

SwiftのiCloudでファイルを作成する。

この記事は2018年07月12日に投稿しました。
この記事は2018年07月21日に更新しました。

目次

  1. はじめに
  2. ファイル作成処理
  3. おわりに

1. はじめに

こんにちは、iOSのエディタアプリPWEditorの開発者です。

今回はiCloudDocumentSyncライブラリを使って、iCloudでファイルを作成してみます。

Dropbox APIやOneDrive APIの説明でもお話ししましたが、PWEditorでは新規ファイルは編集前に作成する仕様になっています。
そのためデータなしの状態でファイルを作成します。

PWEditorでは、ドキュメントのUploading Documentsを参考に実装しました。

目次へ

2. ファイル作成処理

iCloudDocumentSyncライブラリでファイル作成するには、saveAndCloseDocumentWithNameメソッドを使用します。
このメソッドは、ファイルを保存する際にも使用します。

引数は、パス名付きのファイル名ファイルデータになります。
ファイル作成の場合、ファイルデータに空のData型のデータを指定します。
ファイルを作成した結果は、クロージャで返却されます。

ファイルの作成でエラーの場合は、errorオブジェクトが設定されます。

import iCloudDocumentSync

/**
 ファイルを作成します。

 - Parameter fileName: パス名付きのファイル名
 */
func createFile(_ fileName: String) {
    // iCloudオブジェクトを取得します。
    guard let cloud = iCloud.shared() else {
        // iCloudが取得できない場合、処理を終了します。
        // 念のためのチェックです。
        // 必要に応じてエラー処理を行ってください。
        return
    }
    
    // ファイルデータを空で生成します。
    let content = Data()

    // ファイルを作成します。
    cloud.saveAndCloseDocument(withName: fileName, withContent: content, completion: { (cloudDocument: UIDocument?, documentData: Data?, error: Error?) -> Void in
        if let error = error {
            // エラーの場合、処理を終了します。
            // 必要に応じてエラー処理を行ってください。
            return
        }
        
        // 正常終了の場合の処理を記述してください。
    })
}

目次へ

3. おわりに

iCloudDocumentSyncライブラリのファイル作成は、ファイル一覧取得に比べて簡単です。

転職を本気で考えている方向けのプログラミングスクール!【WebCampPRO】

詳解 Swift 第4版

詳解 Swift 第4版

目次へ