Parse.comで地図上の位置情報を共有（準備）【メモ】

#Parse.comで地図上の位置情報を共有（準備）

モバイルアプリでデータの共有をしようとすると、独自のサーバプログラムを作成する必要があります。大規模なWebサービスを立ち上げるのであれば、オリジナルのプログラムを利用することになると思いますが、モバイル専用のアプリでデータ共有をする場合には、できるだけコストを小さく立ち上げたいところです。（学習のコストも）

Parse.comはそのようなニーズに答えるだけでなく、非常に高機能なサービスを利用することの出来るモバイル向け**MBaaS（MobileBackend as a Service）**です。
（サーバからのプッシュ通知などを簡単に管理できるのも有難い！）

基本無料で立ち上げられて、利用状況により課金されます。料金体系は以下のまとめが参考になりました。
http://qiita.com/akiramuramatsu/items/0c2c54a00c7a844cf152



##Parse.comへのログインと、サーバ側のParseアプリ作成

1.ユーザ登録orログイン
新規利用の場合、ユーザ登録を行います。GithubやFacebook,Google+などのアカウントでログインすることもできます。

![image](https://qiita-image-store.s3.amazonaws.com/0/59249/88b54cc3-7761-dda7-2665-b138f2ac668d.png)

2.ダッシュボードで新規Parseアプリを作成

[【Parseダッシュボード】https://www.parse.com/apps](https://www.parse.com/apps)


![image](https://qiita-image-store.s3.amazonaws.com/0/59249/2ddca1d9-3d6d-6a12-bc62-9f52bcaaeb97.png)

3.作成したParseアプリのApp keysを記録してから、「Data Browser」をクリック

iOSから利用するのであれば、基本的には「Application ID」「Client Key」の2つがあれば大丈夫です。
（もしこの画面で控え忘れた場合には、アプリの設定メニューから再表示できます）

![image](https://qiita-image-store.s3.amazonaws.com/0/59249/61dd486f-fa6a-62f7-fcc9-1d6b8b1f778f.png)


4.データブラウザー画面でParseアプリが作成されている状況を確認

![image](https://qiita-image-store.s3.amazonaws.com/0/59249/398f5dea-6d43-c26b-40b4-f32355da6887.png)


**ここまででとりあえずParseサーバ側での設定はひとまず終了**


##iOSアプリ側の準備

**※Parse.comからは、iOS向けにあらかじめ必要な設定を終わらせてある「Blank Project」というプロジェクトをダウンロードすることもできますが（こちらのほうが簡単）、この「Blank Project」はStorBoardを使わない構成になっているので、StoryBoardベースのiOSアプリに組み込む手順にしています。**
　

1.iOS用Parseライブラリのダウンロード

![image](https://qiita-image-store.s3.amazonaws.com/0/59249/4b5b9fda-a585-89a6-38de-c625c9e5e8b1.png)

**※執筆時のバージョンは1.6.0でした**

2.ダウンロードしたライブラリ内のファイルを、自分のiOSプロジェクト内にドラッグアンドドロップ

![image](https://qiita-image-store.s3.amazonaws.com/0/59249/a608f084-d476-ef37-3a37-3dbf7aff6fdb.png)

**※「ParseFacebookUtils.framework」はFacebookでのログインなど連携をしない限りは、入れなくても良いようです。**

ファイルのインポートの際には、「Copy」をして入れるのをおすすめします。

![image](https://qiita-image-store.s3.amazonaws.com/0/59249/27c24f86-ca16-7a5d-8f6b-d0be70d07daa.png)

3.プロジェクトのBuildPhasesから以下のフレームワークを追加する。

**※このあたりの説明は、以下のページに記述されています。利用する機能が増えれば、必要なフレームワークも増えると思われます。**

https://www.parse.com/apps/quickstart#parse_data/mobile/ios/native/existing


| フレームワーク |
|:------------|
|AudioToolbox.framework|
|CFNetwork.framework|
|CoreGraphics.framework|
|CoreLocation.framework|
|MobileCoreServices.framework|
|QuartzCore.framework|
|Security.framework|
|StoreKit.framework|
|SystemConfiguration.framework|
|libz.dylib|
|libsqlite3.dylib|

![image](https://qiita-image-store.s3.amazonaws.com/0/59249/322112eb-8103-510a-78f0-1257cf775583.png)

4.アプリのAppDelegateに、Applicatoin IDとClient Keyを設定する

**※ファイル先頭にimport Parseを記述すること！**

```Swift:AppDelegate.swift
import UIKit
import Parse


@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        
        //ApplicationIDとClientKeyの設定
        Parse.setApplicationId("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
            , clientKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
        
        return true
    }

    //省略
}

```

**※ApplicationIDとClient Keyは、以下の場所から確認できます。**

![image](https://qiita-image-store.s3.amazonaws.com/0/59249/f0481ab3-92b9-03e4-e456-fffe5c7d1f10.png)



5.ビルドしてエラーが出なければ、とりあえず設定完了