【アプリ開発】CloudKitについて(Swift/SwiftUI)

App

この記事ではSwitt/SwiftUIのアプリからデータの保存をするために使用したデータベースであるCloudKitついて記載します。
皆様のアプリ開発に役立てるように分かりやすく、実際のアプリの動き、コードから解説していきます。CoreDataとの違いが知りたい方は以下の記事をご参考ください。

CloudKitとは

CloudKitは、Appleが提供するクラウドサービスプラットフォームで、Appleデバイスと連携してデータを保存、同期、共有するための仕組み、ユーザーのデータをクラウド上で安全かつ効率的に管理するデータベースを提供してくれます。CloudKitを使用することで、ユーザーのデバイス間でデータを共有したり、デバイスとクラウドサーバーとの間でデータを同期させたりできます。また、CloudKitを使用する際は、GUI(ユーザーが視覚的に扱えるもの)が提供されており、そこからデータの閲覧から作成・削除まで可能です。

CloudKitのメリデメ

メリット

・価格と容量
私がこれを選んだ最大の理由が価格と容量です。Apple Developerに登録済みのユーザーはなんと無料で使用することができます。無料で容量が全然ないというような製品は数多く存在しますが、CloudKitはアプリのパブリックデータ用には最大1PBのストレージを利用可能です。

・導入が簡単
CloudKitはAppleデバイスと深く統合されており、使用が比較的簡単です。特にiOSやmacOSアプリケーションの開発者にとっては、フレームワークとしての統合が非常にシームレスです。始める時もXcodeから操作するだけで使用可能になります。

・パブリックデータベースとプライベートデータベース
CloudKitでは、パブリックデータベースとプライベートデータベースが提供されています。パブリックデータベースはアプリケーション間でデータを共有できる一方、プライベートデータベースは各ユーザーに関連付けられたプライベートなデータを格納します。つまり、常にプライベートデータベースの方で検証を行うことが可能になります。

デメリット

・iCloud連携が必要
1番のデメリットはユーザーがCloudKitへデータを追加・更新・削除操作をする場合はiCloudを同期している必要があります。なのでAndroidユーザーなどのAppleデバイス外のユーザーではアプリを使用するハードルが非常に高くなります。なのでApple Storeに掲載する目的を除いて使用するのはお勧めしません。ただ、これはセキュアという言い方もできますので、自分の用途に合っていればぜひ使っていただくのが良いと思います。

・サンプルコードがあまり無かった
単純に開発の時にCloudKitの使用方法のようなサイトがあまり無いような気がしました。(現時点では結構増えたかな?)なので開発時は試行錯誤で大変でした。。

CloudKitの始め方

前提

・Apple Deveroper Programに加入済み
加入方法(有料)
・Xcodeを利用

始め方

下記のサイトが分かりやすかったのでCloudKitを使えるようにするまでをご参考になさって下さい。

CloudKit登録の参考サイト

Xcode上でCloudKitの登録が済みましたら以下の赤枠からCloudKitのGUIへアクセスできます。

CloudKitへ実際にデータの作成・追加・削除するプログラム・レコードの設定等は以下の記事で紹介します。

以上がCloudKitについての記事になります。アプリを作成するにあたりデータベースなどのミドルウェア選びは大切になってきます。その際の手助けになれましたら幸いです。

アプリ”NowShare”をダウンロード
情報共有アプリ"NowShare"
今からみんなでナレッジ共有! 本当に欲しい情報をキャッチ&リリース 教えてあげたい情報を知りたい人にすぐに共有。 ためになった情報にはいいねを押して盛り上げよう!
Appエンジニア
ナスジニアをフォローする
🍆ナスジニアのブログ(iPhoneアプリ開発)

コメント

タイトルとURLをコピーしました