Swift的动态性
Foundation
Foundation 框架实现了基于运行时一个特性的两个API:
键值编码 (key-value-coding, KVC)键值观察 (key-value observing, KVO)KVC 和 KVO 允许我们将 UI 和数据进行绑定,这也是 Rx 以及其他响应式框架实现的基础。
KVC
KVC 的工作方式如下所示:
Chisel-xcodeproj框架的使用
{% github it-boyer chisel f331dc6 width = 30% %}
这个pull请求添加findinstances命令,该命令完成Add findinstances, and new support framework in Chisel.xcodeproj 和Add Makefile for installing framework的工作。
用户可以运行help findinstances获取findinstances的详细信息。简要总结一下,findinstances可以找到给定class类或protocol协议的所有实例,并使用谓词表达式过滤这些结果。
如果您有一个名为XXSocialUser的类,那么您可以通过运行findinstances XXSocialUser == 'curry'来找到一个特定的用户。
makefile自动化编译工具
make命令执行时,需要一个makefile文件,以告诉make命令需要怎么样的去编译和链接程序。
首先,我们用一个示例来说明makefile的书写规则,以便给大家一个感性认识。这个示例来源于gnu 的make使用手册,在这个示例中,我们的工程有8个c文件,和3个头文件,我们要写一个makefile来告 诉make命令如何编译和链接这几个文件。我们的规则是:
使用Sphinx制作简洁而又美观的文档
{% github it-boyer width = 30% %}
安装
| |
创建工程
| |
工作目录的列表
swift混编及Framework和静态库的支持
swift和OC混编
OC
oc调用swift framework/swift静态库
oc静态库调用swift/oc的framework
oc静态库调用swift/oc的静态库
swift
swift调用oc/swift静态库
swift framework调用oc/swift静态库
swift静态库调用oc/swift静态库
使用Fastlane持续集成开发
{% github it-boyer width = 30% %}
持续集成
在框架开发中,一个优秀的持续集成环境是至关重要的。CI 可以保证潜在的贡献者在有保障的情况下对代码进行修改,减小了框架的维护压力。大部分 CI 环境对于开源项目都是免费的,得益于此,我们可以利用这个星球上最优秀的 CI 来确保我们的代码正常工作。
cocoapods如何自动化管理项目依赖
通过介绍项目相关的属性配置,来了解cocoapods如何自动化管理项目依赖的。最后会通过自定义ruby脚本来演示。
cocoapods偶现问题
pod install安装依赖,主要是对build settings中的新增依赖配置等,
当cocopad 集成失败时,可以通过以下几步排查 ,也可以尝试清除项目中pod相关的信息,重新pod install,了解以下步骤都是很重要的。
将Playground作为项目的单元测试
在Perfect项目中增加playground:
新建Perfect.xcodeproj和PerfectPlayground
- 新建一个Xcode工程
Perfect
| |
- 设置include路径
在Xcode工程的
build settings中设置SWIFT_INCLUDE_PATH路径为${PROJECT_DIR}并设置recursive(递归)选项。 - 在同一工程目录下创建一个
PerfectPlayground。
新建Perfect.workspace
- 新建一个工作空间:
Perfect.workspace,在工作空间中添加工程和操场:Perfect.xcodeproj和PerfectPlayground。 - 编译
Perfect.xcodeproj,这样就激活了PerfectPlayground的PerfectLib函数库功能。
| |
新组件开发流程及打包证书配置
新组件开发/发布的流程
原理:在build程序包之前,会根据平台提供的程序包的组件依赖信息,来other linker flags进行删减更新,仅保留依赖包的配置,这样以来,就可以针对打包平台提供的APP依赖,来生成相应的产品APP。
添加新组件的步骤