techium

このブログは何かに追われないと頑張れない人たちが週一更新をノルマに技術情報を発信するブログです。もし何か調査して欲しい内容がありましたら、@kobashinG or @muchiki0226 までいただけますと気が向いたら調査するかもしれません。

Nearby Messages APIを使ってみた iOSセットアップ

引き続きNearby Messages APIの使用方法について記載する
今回からはiOSでの使用方法について記す

最終的にAndroidとiOS端末間での通信ができることが目標である

1. 開発環境をダウンロードする

Nearby Messages APIをiOSで使用するにはXCode6.3以上のバージョンを使用する必要がある
XCodeのサイトからダウンロードする
上記サイトからのダウンロードにはAppleIDが必要となるので、あらかじめ用意しておくと便利である

今回は7.3.1を使用する

2. CocoaPodsのインストール

CocoaPodsは、Swiftまたは、Objectcive-Cプロジェクト用のオープンソースDependencyManagerである
iOS用のNearby Messages APIライブラリはCocoaPodsを使用することで有効にできる

以下のコマンドでCocoaPodsをインストールする
MacではRubyが最初からインストールされているのでgemを利用できる

$ sudo gem install cocoapods

詳しくはCocoaPodsインストールガイドを確認してほしい

3.CocoaPodsを使用してNearbyMessagesAPIを使用可能な状態にする

  • iOSプロジェクトを作成していなければ、作成する(Single View Applicationを作成して、ARCを有効にしろと記載がある)

  • Podfileというファイルをプロジェクトのフォルダに作成する
    内容は以下の通り

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.0'
pod 'NearbyMessages'

しかし、以下のエラーが出て止まった [!] The dependency NearbyMessages is not used in any concrete target.
ググると、PODのバージョンが変わってPodfileのフォーマットが変更されたようなので、 一度Podfileを削除し、pod initを実行する。

target '対象のプロジェクト名' do
  use_frameworks!
pod 'NearbyMessages'
  • Podfileが存在するフォルダで以下のコマンドを実行する
    このとき、Xcodeを起動しているとエラーがでるので、あらかじめ閉じておく。
    初めてpodを使用する時は、とても時間がかかるので覚悟したほうが良い
$ pod install
  • インストールが終わったら.xcworkspaceファイルをダブルクリックして開く。(CocoaPodsを使用したプロジェクトでは.xcodeprojからプロジェクトを開くとエラーが出る)

4. bridging headerを作成する(Swiftのみ)

SwiftプロジェクトでNearby Messages APIのライブラリを使用する場合、bridging headerを作成する必要がある 手順は以下の通り

  1. xcworkspaceと同じディレクトリに任意の名前の.hファイルを作成する。
  2. 「#import <GNSMessages.h>」このコードを上で作成したヘッダファイルに貼り付け保存する
  3. Xcodeのプロジェクトエディタからメインプロジェクトを選択する
  4. Build Settingsタブをクリックし、Swift Compiler - Code Generation -> Objective-C Bridging HeaderのDebug、Release共に先ほど作成したヘッダファイルを指定する(プロジェクトディレクトリがルートになっているので、プロジェクトディレクトリ直下にヘッダを作成した場合はファイル名のみ指定する) f:id:forestsoftjpdev:20160703212527p:plain
  5. プロジェクトをビルドする

5. APIキーを作成する

  1. Google API Consoleを開く
  2. プロジェクトを作成、または選択する(今回は、Androidのときに作成したプロジェクトを選択)
  3. 新しいキーの作成で、iOSキーを選択 f:id:forestsoftjpdev:20160703213903p:plain
  4. 認証情報の入力で、アプリのバンドルIDを入力し、作成をクリック f:id:forestsoftjpdev:20160703213911p:plain

6. Message Managerオブジェクトを生成する

取得したAPIキーを使用してGNSMessageManagerオブジェクトを生成

messageManager = GNSMessageManager(APIKey: "API_KEY")

以上でセットアップは完了である