GYDFoundation
其它文档
项目介绍
个人的iOS私有库
目录结构
-
外层结构
- GYDFoundation:基础代码
- GYDDatabase:数据库,依赖FMDB
- GYDHTTPConnect:网络请求
- GYDJSONObject:JSON-Model互转
- GYDShellTools:Shell工具
- iOSExample:iOS示例工程
- MacExample:Mac示例工程
- GYDFoundation.podspec:pod配置文件
-
内层结构
- Code:功能代码
- Resources:图片等资源文件
- Test:单元测试代码
- Demo:示例代码
安装教程
使用POD安装,Podfile配置方法如下:
-
安装默认功能:默认功能包括:GYDFoundation,GYDDatabase,GYDHTTPConnect,GYDJSONObject
pod 'GYDFoundation'
现在还没向pod提交,可以直接指定git路径。
pod 'GYDFoundation', :git => 'https://github.com/pkgogai/GYDFoundation.git', :branch => 'master' #分支可以改成tag或节点 #:tag => '0.0.4' #:commit => 'f7cc204e2db82f8488229f09e073977d3db4abbd'
-
安装指定功能:如果想安装其中个别功能,可以指定specsub,例如只需GYDJSONObject,依赖的GYDFoundation也会同时被引入:
pod 'GYDFoundation', :git => 'https://github.com/pkgogai/GYDFoundation.git', :tag => '0.0.4', :subspecs => ['GYDJSONObject']
-
特殊处理安装:特殊处理目前包括:GYDJSONObjectNonatomic,GYDDatabaseNoEscape,Development,安装方式还是specsub。
- GYDJSONObjectNonatomic:json转换默认是可在多个线程使用的,当只在一个线程使用时可以加上这个,去掉线程安全的处理。
- GYDDatabaseNoEscape:数据库封装的SQL语句默认将表名、列名等转义,当表名和列名都是普通字符时,可以加上这个去掉转义的处理。
- 开发模式:加上这个使用开发模式,会有日志,json转model时保留原json对象等功能。这是刚刚加入的定义,其实代码还没有开发。
-
安装单元测试:4个subspecs都有与其对应的单元测试代码,可按需添加对应的tests,虽然目前只是随便写写,但下次也许会完善的。
……前面省略…… :testspecs => ['Tests/GYDFoundation','Tests/GYDDatabase','Tests/GYDHTTPConnect','Tests/GYDJSONObject']
为了可以手动点击单个测试用例,需要在工程Schemes编辑中,“Test”>“Info”>“+”,选择“GYDFoundation-Unit-Tests”完成添加。
-
安装Demo:这里还有如何使用的演示。单元测试正式项目也会依赖,而Demo不同,是单独用来演示用的,所以没必要拆分,直接依赖所有功能。
……前面省略…… :subspecs => ['Demo']
-
本人在开发时使用本地相对路径,Demo,Tests全都要
pod 'GYDFoundation', :path => '../../GYDFoundation', :subspecs => ['Demo'], :testspecs => ['Tests/GYDFoundation','Tests/GYDDatabase','Tests/GYDHTTPConnect','Tests/GYDJSONObject',]
使用说明
-
引用头文件:
聚合类头文件:GYDFoundation.h,GYDUIKit.h。GYDFoundation.h会将所选功能的头文件都包含进去,只有UIKit相关除外,在开发非UI类时建议使用这个。GYDUIKit.h在GYDFoundation.h基础上包含了其余UIKit相关的头文件,在开发UI类时建议使用这个。也可根据需要只引用具体某个头文件,但还是建议上面2选1。我习惯在User Header Search Paths里加一个值${HEADER_SEARCH_PATHS},这样所有文件都可使用双引号引用,风格统一,不同功能库间可以直接移动文件。
#import "GYDFoundation.h"
-
其他待续