iOS アプリの作成

まずは、モバイルアプリを新規作成し、Kii Cloud SDK を組み込んで簡単なテストを行います。

モバイルアプリの新規作成

Xcode を起動して iOS アプリを新規に作成します。

Xcode の初期画面より、"Create a new Xcode project" よりプロジェクトを新規に作成します。作成条件は以下の想定です。

  • プロジェクトのテンプレートはどれを選んでも構いませんが、ここでは "iOS" タブの "Single View Application" でアプリを新規作成するものとします。
  • プロジェクトのオプションとして、ここでは以下の情報を入力します。

    • Product NameKiiPushTest
    • Team:Apple Developer Web サイトを利用できるユーザーや組織名
    • Organization Identifier:iOS アプリの配布を想定した名前

      チュートリアルでは com.example として説明します。この名前と Product Name を結合して Bundle Identifier が作成され、Apple Developer Web サイトに自動登録されるため、実際のドメインを使った名前を指定してください。

    • Language :"Objective-C" または "Swift"

      使用したい言語を選択します。Thing-IF SDK では "Swift" を選択します。このチュートリアルでは、Swift 3、Swift 2.3、Objective-C の 3 通りのサンプルコードを記載しています。

Xcode の自動署名の設定

プロジェクトが作成できたら、Xcode でコード署名の設定を行います。

プッシュ通知をテストするには、実行モジュールにコード署名を行って、実機で動作させる必要があります。Xcode 8 以降では Apple 社のサーバーと連携してコード署名を自動的に行う機能があり、チュートリアルでもこの機能を利用します。

プロジェクト設定の "Signing" が以下のとおりであることを確認してください。

  • "Automatically manage signing" がオン
  • "Team" に Apple Developer Program のメンバーとして登録されているアカウントの所属チームを選択

"Team" を正しく選択できない場合は、"Xcode" メニューの "Preferences" の "Accounts" ページで、目的のアカウントが設定されていることを確認してください。

設定の確認後、動作テストのためモバイルアプリを実行してみます。

  1. 開発 PC に iPhone の実機を接続します。初回接続時には、デバッグできるよう、画面に従って信頼関係を設定します。
  2. "Product" メニューの "Destination" より、接続した実機を選択します。
  3. 準備ができたら、ツールバーまたは "Project" メニューの "Run" よりモバイルアプリを実行します。

モバイルアプリが起動し、プロジェクトのテンプレートで選んだモバイルアプリの画面が表示されれば成功です。"Single View Application" を選択した場合は、画面全体が空白になります。

もし、正しく実行できない場合は開発環境に問題があります。Web 等で類似の問題を検索してデバッグできる環境を用意してください。

コード署名を手動で行う場合

"Automatically manage signing" をオフにして手動で署名設定を行いたい場合や、自動設定ができない Xcode 7 を使用する場合は、以下の作業を行ってください。チュートリアルの手順ではこれらを自動的に行うため、操作は不要です。

  • "Bundle Identifier" に対応する App ID の発行
  • 開発者の証明書の発行とキーチェーンアクセスへのインストール
  • デバッグ用端末の UUID の登録
  • プロビジョニングプロファイルの作成
  • Xcode の "Signing" の設定での、開発者の証明書とプロビジョニングプロファイルの設定

これらを手動で行う場合、APNs の利用 にあるフロー図を参考にしてください。

Kii Cloud SDK の組み込み

リファレンスガイドの「iOS アプリ開発の準備」に従って、Kii Cloud SDK を利用する準備を行います。

それぞれの手順は操作が複雑なため、Android の導入手順へのリンクによって詳細な操作方法を示しています。各ページの手順を実行した後は、このページに戻ってください。

ここで必要な設定は以下の 2 つです。

  1. Kii Cloud でのアプリケーションの作成

    Kii Cloud の開発者ポータルにログインして、アプリケーションを作成します。プッシュ通知はこのアプリケーション配下で実行させます。

    アプリケーションは以下の条件で作成します。

    • アプリケーション名:「Push Notification」など、わかりやすい名前を付けてください。
    • サーバー設置場所:アプリ配布先の地域に近い場所を選択してください。

    最終的に、Kii Cloud 上にアプリケーションを作成し、それを識別するための AppID を入手できます。

    アプリケーションの作成 を開いて、「コラボレーターの追加」の 直前まで の手順を実行し、このページに戻ってきてください。

  2. Kii Cloud SDK の導入

    先ほど作成した iOS アプリに、Kii Cloud SDK を組み込みます。

    Kii Cloud SDK の導入手順 を開いて、手順をすべて実行し、このページに戻ってきてください。

Kii Cloud の機能をテスト

ここまでの設定で、アプリから Kii Cloud の API を呼び出せる状態になっています。正しく組み込めたかどうか、テストのためユーザーを作成してみます。

作成したユーザーは、後の工程で使用します。Kii Cloud のプッシュ通知は、通知対象がユーザーであるため、そのユーザーを事前に作成しておきます。ここでは、簡易的に固定のユーザー名とパスワードで作成しますが、実際のアプリではこのチュートリアルの最後に示すヒントによって代わりの方法を使用できます。

作成するユーザーは以下のとおりです。

  • ユーザー名:user1

  • パスワード:123ABC

次のコードを AppDelegate の application:didFinishLaunchingWithOptions: メソッドの最後など、容易に実行できる場所に追加します。

  • let username = "user1"
    let password = "123ABC"
    let user = KiiUser(username: username, andPassword: password)
    user.performRegistration { (user: KiiUser?, error: Error?) -> Void in
      if (error != nil) {
        print("Failed to register user: \((error! as NSError).userInfo["description"])")
        return
      }
      print("Succeeded")
    }
  • let username = "user1"
    let password = "123ABC"
    let user = KiiUser(username: username, andPassword: password)
    user.performRegistrationWithBlock { (user: KiiUser?, error: NSError?) -> Void in
      if (error != nil) {
        print("Failed to register user: \((error! as NSError).userInfo["description"])")
        return
      }
      print("Succeeded")
    }
  • NSString *username = @"user1";
    NSString *password = @"123ABC";
    KiiUser *user = [KiiUser userWithUsername:username andPassword:password];
    [user performRegistrationWithBlock:^(KiiUser *user, NSError *error) {
      if (error != nil) {
        NSLog(@"Failed to register user: %@", error.userInfo[@"description"]);
        return;
      }
      NSLog(@"Succeeded");
    }];

ここでは、以下の処理を行っています。

  • performRegistration メソッドの実行により、固定のユーザー名とパスワードで Kii Cloud 上にユーザーを作成します。
  • 作成結果はコールバックによって通知されます。結果を受けてログ出力を行います。

アプリ起動後に「Succeeded」がログ出力されれば成功です。2 回以上実行すると、ユーザーの重複により「Duplicate entry exists」エラーとなるはずですが、ユーザーは作成できているため問題ありません。

これ以外のエラーが発生する場合、ここまでの設定手順をもう一度確認してください。特に、Kii Cloud SDK の組み込みで実装した beginWithID:andKey:andSite: が実行されているか、AppID とサーバー設置場所が作成したアプリケーションと一致しているかを確認してください。

一旦ユーザーを作成すると、処理は不要になるため、削除、または、コメントアウトしておきます。

次のステップで説明する Apple Developer Web サイトの操作を行うには、Xcode でのビルドと実行が完了している必要があります。上記のテスト実行の際、Xcode の情報が Apple 社のサーバーに反映されます。

次のステップ 証明書の入手 に進みましょう。


<< iOS プッシュ通知設定チュートリアル 証明書の入手 >>