Perfect 導入編

サーバーサイドSwiftフレームワークのPerfectの使い方のメモその1

導入編ではベースとなるプロジェクトを一から作るあたりまで

きっかけ

Perfectがついに1.0になったというのを聞きつけてGitHubのREADMEを見てると、、、

WebSockets & iOS Push Notifications

Perfect now includes a WebSockets server and support for handling your own server-side iOS push notifications.

ってのを発見!

ちょうど、Push通知周りの実験をしたかったこともあり、さっそく手を出すことに〜

手順

下準備

GitHubからPerfectをダウンロードする

ダウンロードしたら適当な場所に展開しておく

Xcodeにテンプレートを追加

  1. ~/Library/Developer/XcodeをFinderで開く
  2. Xcode直下に(無ければ)Templatesというフォルダを作成
  3. そのTemplates直下に(無ければ)Project Templateというフォルダを作成
  4. ダウンロードしておいたPerfectのプロジェクトの中(Perfect-master/Extras/Xcode Templates/Perfect/)にあるPerfect Server Framework.xctemplateのフォルダを丸ごとコピー
  5. 3で作ったフォルダに4のフォルダを貼り付け

プロジェクトの作成

ワークスペース名:SmapleBasePerfect
プロジェクト名:SampleServer

で作成する前提での手順

ワークスペースの作成

  1. XcodeのメニューのFile-New-Workspace...を選択
  2. ワークスペース名と保存先のフォルダを選択(作成)してSave
    (ワークスペースはプロジェクトと違ってフォルダは自動作成されないので注意)

自動で空のワークスペースの画面が開かれるので、そのままの状態で次の手順へ

プロジェクトの作成

  1. XcodeのメニューのFile-New-Project...を選択
  2. 左側のOS X-Project Templateの中からPerfect Server Frameworkを選択してNext(下図)
  3. プロジェクト名などを適宜入力してNext
    (プロジェクト名はワークスペースと同じにできない)
  4. Add to:でワークスペース名を選択する
  5. 保存先を選択してCreate

デフォルトで下のようなプロジェクトが生成される

Perfectを追加

  1. ダウンロードしておいたPerfectのプロジェクト直下にあるPerfectLibPerfectServerのフォルダを丸ごとコピー
  2. プロジェクトのフォルダと同じ階層に貼り付け
  3. XcodeのProject Navigator(上のイメージの部分)の何もないところで右クリック
  4. 出てきたメニューからAdd files to "ワークスペース名"...を選択
    (もしプロジェクト名が出てきたら3からやり直し)
  5. Copy items into ...はチェック無、Create groups ...にチェック有にする
    (無い場合はOptionをクリック)
  6. 1と2でコピーしたフォルダの中からPerfectLib.xcodeprojを選択してAdd
  7. PerfectServer.xcodeprojについても3からの同じ手順で追加

スキームの設定

  1. XcodeのメニューのProduct-Scheme-Manage Schemes...を選択
  2. プロジェクト名と同じスキームを選択してEdit...を選択
  3. 左側でRun、右側のInfoタグを選択
  4. ExecutablePerfectServer HTTP.appを選択
  5. 下の方にあるSharedにチェック
  6. Closeで閉じる

フレームワークの追加

  1. 作成したプロジェクトを選択
  2. TARGETSでプロジェクト名と同じもの、Generalタブを選択
  3. Linked Frameworks and Librariesを選択
  4. PerfectLib.frameworkOSXの方を選択してAdd

ドキュメントを配置

  1. Build Phasesタブを選択
  2. 左上のをクリックして、New Copy Files Phasesを選択
  3. DestinationProducts Directoryを選択
    Subpathwebrootと入力
  4. Nameの下の方にあるをクリックし、index.mustacheを選択してAdd

動作確認

XcodeでSampleServerのスキームでRunして、GUIが立ち上がるとサーバが動作した状態となる

その状態でhttp://0.0.0.0:8181/にアクセスして、「Hello, world!」と出ればひとまずOK

感想

意外に日本語の、特にMac上で動かす場合の資料が少なくて苦労した
それとこういうのを触る度にサーバ周りの知識が足りないのを痛感する・・・

参考リンク

開発環境

ソース

こちら