????以前雖然知道swift服務器,卻沒有研究過,最近沒事在網(wǎng)上尋找別人的例子研究了一下,筆記以作備份
????根據(jù)大部分同學們的經(jīng)驗,我選擇了Perfect框架。我們需要創(chuàng)建的是http服務,所以選擇框架里的HTTPServer庫.
- 新建Server工程
- 創(chuàng)建工程文件夾
cd ./Desktop/workSpace
mkdir SwiftServer
cd SwiftServer
- 初始化工程,此時創(chuàng)建的是沒有xcodeproj的工程 ,--type executable 表示創(chuàng)建可執(zhí)行文件
swift package init --type executable
- 創(chuàng)建Xcode工程編譯文件,至此可以使用Xcode進行編譯了
swift package generate-xcodeproj
- 編譯工程
siwft build
- HTTPServer
- 獲取HTTPServer
git clone https://github.com/PerfectlySoft/Perfect-HTTPServer.git (path)
- HTTPServer使用的是包管理器,所以我們可以
cd path/Perfect-HTTPServer
- 然后build一下工程,就會自動下載依賴包
swift build
- 下載完成后我們運行一下看看有沒有問題,有可能出現(xiàn)的錯誤包括OpenSSL、httpparser等錯誤,因此可以提前安裝好相應的庫
brew install http-parser
brew install openssl
-
實際操作中會有一些編譯性問題,為了方便最好將依賴庫單獨下載,以同樣的方式配置成xcode工程,依賴庫的下載地址在終端都可以看到1.png2.png
看不到隱藏文件夾的
defaults write com.apple.Finder AppleShowAllFiles YES
KillAll Finder
- 將依賴工程以相同的步驟編譯
swift build
完成后,在workSpace文件夾中生成Server.xcworkspace
3.png
打開workspace,將工程添加到Server中,刪除不需要的Scheme,package和description都不需要,把對應的target添加到scheme中
4.jpg
將每個工程中的依賴target刪除,重新添加需要的Framework
5.png
工程本身提供了module,但我們需要把里面的內(nèi)容改一下,替換成:
framework module COpenSSL {
umbrella header "COpenSSL.h"
export *
module * { export * }
}
同時修改buildsetting如圖
6.png
7.png
至此C庫就可以正常加載了,其他幾個C庫同理
-
編譯swiftServer工程
這里不再詳述,可SwiftServer查看代碼
運行swiftServer就可以看到HTTPServer啟動啦
在此以作備忘