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