搭建一个Perfect工程大致步骤如下:创建工作空间引入Perfect库

设置工程

编码运行准备工作:

下载Perfect库

推荐从git上下载源码,因为里面包含了可能用到的所有组件:

解压Perfect库的压缩包,安装xcode的Perfect模板

打开这个工程直接run就可以

1. 创建工作空间引入Perfect库

1.1 创建工作空间

打开Xcode—>File—>New—>WorkPlace

创建一个PerfectDemo的工作空间,穿件完成后会生成一个PerfectDemo.xcworkspace文件该文件就是一个Xcode的工作空间。

1.2 引入PerfectLib与Perfect Server

注意添加选项的选择

添加完成后可以看到我们创建的PerfectDemo工作空间已经引入Perfect的依赖

接下来,创建一个PerfectDemo工程,该工程为正式的服务器工程:

推荐创建的时候以cocoaframwork的形式添加

注意添加工程的时候选择我们的工作空间为添加选项:

工程添加完成之后工作空间结构如下:

2. 设置工程

工程添加完成之后,开始设置我们的工程

setting.png

具体设置项目如下:

Skip Install = No

Deployment Location = Yes

Installation Directory = /PerfectLibraries

Installation Build Products Location = $(CONFIGURATION_BUILD_DIR)

3. 编码运行

所有的设置成功之后,开始编写服务端代码:

创建PerfectMain.swift文件:

先运行一下官方的示例代码:import Foundation  import PerfectLib  // This is the function which all Perfect Server modules must expose.

// The system will load the module and call this function.// In here, register any handlers or perform any one-time tasks.

public func PerfectServerModuleInit() {  // Install the built-in routing handler. // Using this system is optional and you could install your own system if desired.

Routing.Handler.registerGlobally() Routing.Routes["GET", ["/", "index.html"] ] = { (_:WebResponse) in return IndexHandler() }

// Check the console to see the logical structure of what was installed. print("\(Routing.Routes.description)")}

class IndexHandler: RequestHandler {

func handleRequest(request: WebRequest, response: WebResponse) {

response.appendBodyString("Index handler: You accessed path \(request.requestURI())") response.requestCompletedCallback()

}

}

代码编写完成之后,设置运行的Schema

选中PerfectDemo工程不要选到Perfect的库上去了

设置Excutable为我们之前添加的Perfect模板

editschame.png

设置完成之后,Run工程会启动一个PerfectServer Http程序,

表示我们的Perfect服务器已经启动,改程序面板可以设置服务器的端口号,ip,已经webroot目录等等

success.png

作者:Tywin_Zhang

链接:https://www.jianshu.com/p/a4741a89f679

swift文件服务器,从头开始创建一个基于Swift的Perfect的服务端相关推荐

  1. 创建一个简单OIO模式的socket服务端

    OIO 模式参考,创建一个socket通信的服务端 import java.io.IOException; import java.io.InputStream; import java.net.Se ...

  2. 实验室建设的必要性,如何从头开始创建一个实验室?

    实验室建设是一个系统性且需要长期完善发展的过程,只有创建一个安全.洁净.舒适的实验室,才能保障实验室人员的高效.安全工作,才能保障实验结果的准确性.那么,我们应当如何从头开始建设一个实验室呢? 实验室 ...

  3. 如何创建一个基于 MSBuild Task 的跨平台的 NuGet 工具包

    MSBuild 的 Task 为我们扩展项目的编译过程提供了强大的扩展性,它使得我们可以用 C# 语言编写扩展:利用这种扩展性,我们可以为我们的项目定制一部分的编译细节.NuGet 为我们提供了一种自 ...

  4. 怎么从头开始构建一个基于web浏览器的云游戏平台--前言——带目录

    怎么从头开始构建一个基于web浏览器的云游戏平台–前言 今天开一个新坑,公司突然开始涉及云游戏,还要基于web端,区别于现有的大多数云游戏平台,有点类似于在国内搞一个谷歌云游戏的模式,自己本身对云游戏 ...

  5. 如何创建一个基于Maven的SmartGWT项目

    如何创建一个基于Maven的SmartGWT项目 使用环境 Eclipse的版本为:Luna Service Release 2 (4.4.2)(这个其实不是很重要,你完全可以使用最新版本的Eclip ...

  6. swift perfect mysql_服务端写Swift体验 (Perfect框架)

    Perfect 实践Demo 简介 Perfect是一组完整.强大的工具箱.软件框架体系和Web应用服务器,可以在Linux.iOS和macOS (OS X)上使用.该软件体系为Swift工程师量身定 ...

  7. React SSR: 基于 express 自构建 SSR 服务端渲染

    React SSR: 基于 express 自构建 SSR 服务端渲染 文章目录 React SSR: 基于 express 自构建 SSR 服务端渲染 完整代码示例 前情提要 构建 CSR 项目 项 ...

  8. 基于Socket实现客户端与服务端通讯

    基于Socket实现客户端与服务端通讯 socket 概述 Socket,套接字就是两台主机之间逻辑连接的端点.TCP/IP协议是传输层协议,主要解决数据如何 在网络中传输,而HTTP是应用层协议,主 ...

  9. Python基于socket实现的TCP服务端

    ''' 基于socket实现的TCP服务端 '''import socket # 建立socket对象 server_socket=socket.socket(socket.AF_INET,socke ...

最新文章

  1. java笔试之字符串反转
  2. asp.net Forums 之HttpHandler和HttpModule
  3. 用C#写MSN机器人
  4. 笔记整理——linux程序设计
  5. linux内核的冒险md来源释义# 14raid5非条块读
  6. 《Cortex-M0权威指南》之Cortex-M0编程入门
  7. 阿里云ECS Ubuntu 实例开放防火墙端口仍无法访问问题解决(安全组规则应用)...
  8. PRML中文版(马春鹏)勘误表
  9. Linux解压/压缩命令——tar、gz、tar.gz、tgz、bz2、tar.bz2、Z、zip、rar、lha
  10. JaxWsProxyFactoryBean调用WebService实例
  11. 中国移动G3随e行最详教程
  12. 逍遥安卓多开器出现android,逍遥安卓模拟器
  13. 微信小程序开发(创建项目介绍)
  14. 人到中年,沉默寡言(深度好文)
  15. 韩寒《三重门》精彩语录2
  16. win10修改用户名/指纹无法置入/用户文件没有重命名的选项
  17. RS232/RS485信号转12路模拟信号 隔离D/A转换器WJ34
  18. 经方败案群20150303李小荣讲桂枝芍药知母汤
  19. 代码工程 /Qt /5.9.3源码编译
  20. 最长公共子串(Python)

热门文章

  1. PMP备考笔记:项目整合管理1(五)
  2. css 边框和圆角样式
  3. lerna publish时报错 E401 [UNAUTHORIZED] Login first
  4. 记一次Go程序CPU占用100%的问题
  5. 应用工程师解读:电流反馈放大器
  6. 不扯线也能上网 华为移动路由器Pro,四种上网方案随你选
  7. 后端开发面试自我介绍_记录自己坎坷的面试经历,后端方向
  8. 蓝河科技10个月创立3.05亿美元的农业机器人公司
  9. ❤女朋友生日❤ HTML+css3+js 实现抖音炫酷樱花3D相册 (含背景音乐)程序员表白必备...
  10. CentOS7下安装hdf5r包