Perfect 導入編
Apr 8, 2016 · oldswift2
サーバーサイド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にテンプレートを追加
~/Library/Developer/XcodeをFinderで開くXcode直下に(無ければ)Templatesというフォルダを作成- その
Templates直下に(無ければ)Project Templateというフォルダを作成 - ダウンロードしておいたPerfectのプロジェクトの中(
Perfect-master/Extras/Xcode Templates/Perfect/)にあるPerfect Server Framework.xctemplateのフォルダを丸ごとコピー - 3で作ったフォルダに4のフォルダを貼り付け
プロジェクトの作成
ワークスペース名:SmapleBasePerfect
プロジェクト名:SampleServer
で作成する前提での手順
ワークスペースの作成
- Xcodeのメニューの
File-New-Workspace...を選択 - ワークスペース名と保存先のフォルダを選択(作成)して
Save
(ワークスペースはプロジェクトと違ってフォルダは自動作成されないので注意)
自動で空のワークスペースの画面が開かれるので、そのままの状態で次の手順へ
プロジェクトの作成
- Xcodeのメニューの
File-New-Project...を選択 - 左側の
OS X-Project Templateの中からPerfect Server Frameworkを選択してNext(下図)
- プロジェクト名などを適宜入力して
Next
(プロジェクト名はワークスペースと同じにできない) Add to:でワークスペース名を選択する- 保存先を選択して
Create
デフォルトで下のようなプロジェクトが生成される
Perfectを追加
- ダウンロードしておいたPerfectのプロジェクト直下にある
PerfectLibとPerfectServerのフォルダを丸ごとコピー - プロジェクトのフォルダと同じ階層に貼り付け
- XcodeのProject Navigator(上のイメージの部分)の何もないところで右クリック
- 出てきたメニューから
Add files to "ワークスペース名"...を選択
(もしプロジェクト名が出てきたら3からやり直し) Copy items into ...はチェック無、Create groups ...にチェック有にする
(無い場合はOptionをクリック)- 1と2でコピーしたフォルダの中から
PerfectLib.xcodeprojを選択してAdd PerfectServer.xcodeprojについても3からの同じ手順で追加
スキームの設定
- Xcodeのメニューの
Product-Scheme-Manage Schemes...を選択 - プロジェクト名と同じスキームを選択して
Edit...を選択 - 左側で
Run、右側のInfoタグを選択 ExecutableでPerfectServer HTTP.appを選択- 下の方にある
Sharedにチェック Closeで閉じる
フレームワークの追加
- 作成したプロジェクトを選択
TARGETSでプロジェクト名と同じもの、Generalタブを選択Linked Frameworks and Librariesの+を選択PerfectLib.frameworkでOSXの方を選択してAdd
ドキュメントを配置
Build Phasesタブを選択- 左上の
+をクリックして、New Copy Files Phasesを選択 DestinationでProducts Directoryを選択
Subpathにwebrootと入力Nameの下の方にある+をクリックし、index.mustacheを選択してAdd
動作確認
XcodeでSampleServerのスキームでRunして、GUIが立ち上がるとサーバが動作した状態となる
その状態でhttp://0.0.0.0:8181/にアクセスして、「Hello, world!」と出ればひとまずOK
感想
意外に日本語の、特にMac上で動かす場合の資料が少なくて苦労した
それとこういうのを触る度にサーバ周りの知識が足りないのを痛感する・・・
参考リンク
開発環境
- OS X 10.11.4
- Xcode 7.3
