前回のおさらいから。
ADC文書によると、iCloudストレージを利用する方法は以下となる。
- キー値ストレージ
- iCloudドキュメントストレージ
- Core Dataストレージ
- CloudKitストレージ
前回、iCloudドキュメントストレージに読み書きしたが、macOSだと ~/Library/Mobile Documents/iCloud~バンドルID/ 配下だった。
iCloud Drive配下でないのだが、どうやればiCloud Driveに読み書きできるのか?調べてみた。
CapabilitiesでiCloudを有効にし、Info.plist に NSUbiquitousContainersキー を追加すればいいようだ。
<key>NSUbiquitousContainers</key>
<dict>
<key>iCloud.com.example.MyApp</key>
<dict>
<key>NSUbiquitousContainerIsDocumentScopePublic</key>
<true/>
<key>NSUbiquitousContainerSupportedFolderLevels</key>
<string>Any</string>
<key>NSUbiquitousContainerName</key>
<string>アプリ名など</string>
</dict>
</dict>
NSUbiquitousContainersキー には、コンテナ識別子を設定する。
ソースコード
GitHubからどうぞ。
https://github.com/murakami/KeepADiary - GitHub
関連情報
iCloud設計ガイド
Cocoa勉強会 BUKURO.swift (connpass)
Cocoa勉強会 BUKURO.swift (ATND)
Cocoa勉強会 BUKURO.swift (Peatix)
【Cocoa練習帳】
http://www.bitz.co.jp/weblog/
http://ameblo.jp/bitz/(ミラー・サイト)
Qiita