Bluemixで始めるiOSアプリ開発

Paas界隈で話題の**Bluemix**。

私はもともとインフラ屋なのですが、これを機会にBluemixを触ってあわよくばiOSアプリを開発してしまおうと企てました。

そこでその壮絶なログをここに残しておこうと思います。なにぶん初心者なので、わからないことだらけ。Bluemixを使ったiOSアプリ開発をやってみたい、という方のための記事になればと思います。

それでは早速、Bluemixでアカウント登録してみました。

・・・・（筆者作業中）

さて準備ができたのでBluemixにログイン!![スクリーンショット 2015-07-24 16.53.20.png](https://qiita-image-store.s3.amazonaws.com/0/87213/05e2df95-fcc5-4bba-1d64-931bf96db322.png)

なんか出てきた。ほう、フラットデザインな画面。このあたりIBMさんの本気度が見えてきます。


ひとまず何か作ってみようということで、「アプリの作成」をクリック。
![スクリーンショット 2015-07-24 16.58.08.png](https://qiita-image-store.s3.amazonaws.com/0/87213/e25c51a1-e3f3-3f39-76f8-dacda676a4e2.png)

モバイルでしょうここは。
![スクリーンショット 2015-07-24 16.59.30.png](https://qiita-image-store.s3.amazonaws.com/0/87213/c4be3d29-9575-ca0e-59b5-b1497bd2ba5c.png)

・・・!!! iOS8用なんてものもあるんですか。

MobileFirst Services Starterでひとまず続行。
![スクリーンショット 2015-07-24 17.01.16.png](https://qiita-image-store.s3.amazonaws.com/0/87213/c5e8201c-6abe-8ae2-fe39-678769cae08b.png)

アプリ名はひとまず、なんでもよいので適当に。![スクリーンショット 2015-07-24 17.12.57.png](https://qiita-image-store.s3.amazonaws.com/0/87213/b4c6cb26-6fb0-07ae-95f7-c0bfeaa655d1.png)

プロジェクトの立ち上げ方が丁寧に。。。なるほど。まずは、Hello Worldをつくってみます。

今回はGitで新規プロジェクトを作ってみます。ちなみにGitのインストールは[こちら](http://techacademy.jp/magazine/5304)を参考にしました。
![スクリーンショット 2015-07-24 17.22.47.png](https://qiita-image-store.s3.amazonaws.com/0/87213/f07d2f63-9629-b621-30ca-3f58846fa9ca.png)

適当にフォルダをDesktopに作成しておきます。ここでは20140724_01というフォルダにしました。
ターミナルを起動し以下を実行。

$ cd 20150724_01/
$ git clone https://hub.jazz.net/git/mobilecloud/imf-helloWorld
cloud/imf-helloWorld
Cloning into 'imf-helloWorld'...
remote: Total 1763 (delta 0), reused 1763 (delta 0)
Receiving objects: 100% (1763/1763), 11.80 MiB | 2.22 MiB/s, done.
Resolving deltas: 100% (358/358), done.
Checking connectivity... done.
$ls
imf-helloWorld


imf-helloWorldなるフォルダが作成されていました。imfはibm mobile firstのことでしょう。

次にBluemix上に表示されたガイドに従い、Swiftで作成したいので以下を実行。

$ cd imf-helloWorld/
$ cd helloWorld_swift/
$ open helloWorld.xcworkspace

むむ。Xcodeが開けました。あ、Xcodeは事前にインストールしておいてくださいね。

アプリのBundleIDをBluemix上に合わせろという指示なので、ひとまず自分なりに変更しておきます。
![スクリーンショット 2015-07-24 17.36.59.png](https://qiita-image-store.s3.amazonaws.com/0/87213/f6c60da7-c1e6-9ee4-5c80-43cae0e824b5.png)
![スクリーンショット 2015-07-24 17.38.24.png](https://qiita-image-store.s3.amazonaws.com/0/87213/d416cf84-36e0-561e-22a9-2b99f2bfbc0d.png)

どや!Bluemixの指示に従い、アプリケーション・デリゲート内の didFinishLaunchingWithOptions メソッドに以下の文言をコピーします。

// IBM Bluemix のアプリケーション ID および経路を使用して SDK を初期化します
IMFClient.sharedInstance().initializeWithBackendRoute("https://ios-mxm-test20150724.mybluemix.net", backendGUID: "b2092aba-981b-4eff-b155-ff04ec692ba1")

return true

このあと、登録をクリックするとHello World の Xcode プロジェクトに、Bluemix のモバイル・バックエンドへのアクセス権が付与されたとのメッセージがBluemix上に表示されました。

・・・・さて、恐る恐るXcodeから実行してみます。
![スクリーンショット 2015-07-24 17.46.12.png](https://qiita-image-store.s3.amazonaws.com/0/87213/b4c48096-be4e-4f14-5328-da77b8254198.png)

キターーーーーー!!こんにちは!!
何だろうこのボタンは。PING BLUEMIXをクリックしてみます。
![スクリーンショット 2015-07-24 17.47.26.png](https://qiita-image-store.s3.amazonaws.com/0/87213/8408d7fb-f85e-9c08-8996-26f067987c84.png)
Bluemixさんから返事返ってきました!!
OK! イエーーーーーイ!!

Bluemix上にちゃんとログが残っているか確認してみます。ダッシュボードからAMA（Advanced Mobile Access）をクリック。

![スクリーンショット 2015-07-24 17.56.54.png](https://qiita-image-store.s3.amazonaws.com/0/87213/97bb115a-2e08-4e40-6d34-94cc3f52810e.png)

ちゃんと残ってますね!素晴らしい!

ダッシュボードを見ると、このMobileFirst Services StarterでCloudant NoSQL DB、Push iOS、Advanced Mobile Accessがサービスとしてバインドされていました。MBaaSの基本機能が揃っているというイメージですかね。

![dashboard.png](https://qiita-image-store.s3.amazonaws.com/0/87213/8e8aaa6c-c717-ae2e-13ec-eea2df83ebef.png)

今日はここまでにします。 BluemixでiOSアプリ開発が怖いくらいに簡単にできそうな気がしてきました。。。次回はDBをつついてみようと思います。