このページの本文へ

PROGRAMMING Swiftで「つながるiOSアプリ」最終回

iCloudで他のiOSデバイスとデータを共有する

2015年11月30日 11時33分更新

森 巧尚

  • この記事をはてなブックマークに追加
本文印刷

他のサービスやアプリとつながるiOSアプリをSwiftで作成しながら、「アプリの考え方」を習得する本連載。前回は、ネットワーク上のデータをアプリに読み込んで扱う方法について解説しました。最終回はiCloudを使って他のデバイスとつなげる方法を解説します。

※本連載では、2015年11月時点で最新のXcode 7、Swift 2で解説します。

iCloudを使ったアプリの開発

iCloudは、アップルが提供しているネット上にあるデータの保管場所です。アプリのデータをiCloudに保存しておけば、他のデバイスから同じApple IDのデータを読み書きできます。複数のデバイス(iPhoneとiPadなど)でデータを共有するためのしくみです。

iCloudを使うアプリはアップルが提供するシステムを使うので、Apple Developer Programへの有料契約が必要になります。Xcodeでの設定と、Apple Developer Programでの設定を順番に作っていきます。動作検証は、シミュレータが動かないので、iPhoneの実機を接続してテストします。

iCloudでデータを共有する方法

iCloudでデータを共有するには、4つの方法があります。

  1. Key-value storage:ちょっとしたデータや設定などを保存する方法です。「キー=値」の形式で情報を保存し、キーを指定して情報を読み出します。保存容量は、1つのアプリで1MBまでです。設定情報の共有などに向いています。
  2. iCloud Document storage:ファイル形式で保存する方法です。保存容量は、ユーザーのiCloudアカウントによって決まります。テキストや写真など、大きめのデータの保存に向いています。
  3. Core Data storage:サーバベースのデータベースとして保存する方法です。保存容量は、ユーザーのiCloudアカウントによって決まります。行、列のあるデータを扱うのに向いています。
  4. CloudKit storage:ユーザー同士でデータを共有する方法です。

今回は、一番簡単な「Key-value storage」を使います。

アプリでiCloudを使うためには

アプリでiCloudを使うには、Apple Developer ProgramでiCloud用のIDを作り、Xcodeで設定してアプリを作成します。また、検証に使うデバイスにもiCloudを使うように設定します。

  • [1]Xcodeでプロジェクトを作り、Bundle Identifierを決める
  • [2]Apple Developer ProgramでiCloudを使う準備をする
  • [3]XcodeでプロジェクトにiCloudを使う設定をする
  • [4]アプリを作る
  • [5]実機でテストする

[1]Xcodeでプロジェクトを作り、Bundle Identifierを決める

アップルが提供するシステムを使うアプリでは、プロジェクトの「Bundle Identifier」が必要になります。「Bundle Identifier」は、アプリを申請するときに必要なIDで、iCloudもBundle Identifierで管理します。

「Bundle Identifier」は、プロジェクトを作成時に決まるので、iCloudを使うアプリはプロジェクトを作るところから始めます。

Xcodeのメニューで、「File」→「New」→「Project」を選択し、「Single View Application」を選択して、新規プロジェクトを作成しましょう。

「Product Name」にプロジェクトの名前を設定します。アプリ名としても使われますが、「Bundle Identifier」の一部としても使われます。

「Organization Name」は、開発者の名前を設定します。

「Organization Identifier」は、世界中の他のアプリと区別するための名前で、主に開発者のドメインをひっくり返したもの(逆ドメイン)を使います。例えば、開発者のドメインが「abcd.com」なら「com.abcd」です。

ここまで入力すると、「Bundle Identifier」が、自動的に決定します。「Product Name」と「Organization Identifier」で作られる名前です。例えば、「Product Name」が「icloudTest」、「Organization Identifier」が「com.abcd」ならば、「com.abcd. icloudTest」となります。Apple Developer ProgramでこのIDを使いますので、書き留めておきましょう。

「Next」ボタンをクリックして、保存先を決めて「Create」ボタンをクリックすると、プロジェクトが始まります。

[2]Apple Developer ProgramでiCloudを使う準備をする

Apple Developer Programで、iCloudを使えるApp IDを作ります。

Apple Developer Programを開いて、「メンバーセンター」をクリック、Apple Developer ProgramのIDでログインします。

「Certificates, Identifiers & Profiles」をクリックします。

「Identifiers」をクリックします。

画面右上の「+」ボタンを押してiCloudアプリケーション用の新しいApp IDを作成します。

「App ID Description」の「Name」には、このApp IDを説明する名前を設定します。ここでは、「iCloud Test App」と設定します。「App ID Prefix」の「Value」は変更不要です。

「App ID Suffix」は「Explicit App ID」を選択して、「Bundle ID」を設定します。Bundle IDは、Xcodeで作った「Bundle Identifier」を使います。

「App Services」の「Enter Services」の「iClould」 、CloudKitを使わなければ「Compatible with Xcode 5」にチェックします。

「Continue」ボタンをクリックして、App IDを作ります。

作成したApp IDを使って、iOSのアプリケーションを実機で動作確認をするために必要な「プロビジョニングプロファイル」を作ります。今回は開発用のプロビジョニングプロファイルを作ります。アプリを申請するときは、申請用のプロビジョニングプロファイルを作ります。

「Provisioning Profiles」の「Development」をクリックして、画面右上の「+」ボタンを押して開発用のプロビジョニングプロファイルを作成していきます。「Select Type」「Configure」「Generate」「Download」の順番で作ります。

「Select Type」では、「Development」で「iOS App Development」を選択して「Continue」ボタンをクリックします。

「Configure」の「Select App ID.」では、先ほど作ったApp IDを選択します。

「Configure」の「Select certificates.」では、必要な証明書(またはSelect All)を選択します。

「Configure」の「Select devices.」では、テストをする実機を選択します。

「Generate」の「Profile Name」にプロビジョニングプロファイルの名前を設定します。 例えば、「iCloud Test profile」などと設定します。

「Download」の「Download」ボタンをクリックして、プロビジョニングプロファイルをダウンロードします。ダウンロードしたファイルをダブルクリックして、Xcodeにプロビジョニングプロファイルを登録します。

この連載の記事

一覧へ
Web Professionalトップページバナー

この記事の編集者は以下の記事をオススメしています

ASCII.jp会員サービス 週刊Web Professional登録

Webディレクター江口明日香が行く