プログラムを書こう!

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

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

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

f:id:paveway:20190914064630j:plain

目次

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

[改訂新版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)

[改訂新版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB+DB PRESS plus)

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版

紹介している一部の記事のコードはGitlabで公開しています。
興味のある方は覗いてみてください。

目次へ


私が勤務しているニューラルでは、主に組み込み系ソフトの開発を行っております。
弊社製品のハイブリッドOS Bi-OSは高い技術力を評価されており、特に制御系や通信系を得意としています。
私自身はiOSモバイルアプリウィンドウズアプリを得意としております。
ソフトウェア開発に関して相談などございましたら、お気軽にご連絡ください。

また一緒に働きたい技術者の方も随時募集中です。
興味がありましたらご連絡ください。

EMAIL : info-nr@newral.co.jp / m-futamata@newral.co.jp
TEL : 042-523-3663
FAX : 042-540-1688

目次へ