CocoaPods技巧 和 iOS库

文章出处,原创于 https://HawkingOuYang.github.io/

我的GitHub


© OYXJ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
# CocoaPods: The Elegant Solution To Installing The Same Pod In Multiple Targets
# https://www.natashatherobot.com/cocoapods-installing-same-pod-multiple-targets/
# The Elegant Solution
# Podfile
platform :ios, '7.0'
# # use_frameworks!
# My other pods
def common_used_pods #<---- 定义 common_used_pods 开始 ---->#
############################
## 技 术 栈 ##
############################
#-------- (6) 请定义此section名字 --------#
#-------- (5) 请定义此section名字 --------#
#-------- (4) 界面层组件 --------#
# 颜色转图片
pod 'UIImage+ImageWithColor'
# 抽屉效果
#pod 'MFSideMenu'
# TabBar控制器
#pod 'RDVTabBarController'
# 导航条转场
pod 'KMNavigationBarTransition'
# 渐隐导航条
pod 'LTNavigationBar', '2.1.2'
# 模态提示
pod 'MBProgressHUD', '~> 0.9.1'
# 上拉下拉刷新
# pod 'MJRefresh'
# 图片缓存器
pod 'SDWebImage', '~>3.7'
# 左滑右滑cell
pod 'SWTableViewCell', '~> 0.3.7'
# 强大的Label
# pod 'TTTAttributedLabel'
# 图片选择器
# pod 'ZYQAssetPickerController', '~> 1.0.0'
# 动态Gif
#pod 'AnimatedGif' #这个不行,内存泄漏
pod 'FLAnimatedImage', '~> 1.0'
# 内容超长自动滚动Label
pod 'AutoScrollLabel'
# 毛玻璃
pod 'ANBlurredImageView', '~> 0.0.2'
# A custom PopOverView looks like UIMenuController works on iPhone.
pod 'MenuPopOverView', '~> 0.0.3'
# 键盘管理
#pod 'IQKeyboardManager'
# 仿微信 通知横幅 Present your custom iOS 8 and iOS 9 notification when app is in foreground mode.
#pod 'TWMessageBarManager'
#pod 'JCNotificationBannerPresenter'
#pod 'BSForegroundNotification' #swift
# 提示横幅 (我自己修改了此库)
pod 'ALAlertBanner', '0.3.1'
# 富文本
pod 'YYText'
# 界面适配
pod 'Masonry'
#pod 'FontasticIcons'
#-------- (3) 数据层组件 --------#
# 移除Emoji表情
pod 'NSString+RemoveEmoji'
# 支持KVO的可变数组
pod 'KVOMutableArray'
# 弱定时器
pod 'MSWeakTimer', '~> 1.1.0'
# 压缩 解压
pod 'SSZipArchive'
# 数据映射
pod 'YYModel' #这个性能更高
# pod 'SBJson', '~> 4.0.1'
#pod 'JSONModel'
pod 'NSObject-ObjectMap', '~> 2.0'
#pod 'MJExtension'
pod 'XMLDictionary', '1.4'
pod 'Ono' # 处理 XML 与 HTML
# 数据安全
#pod 'FileMD5Hash'
pod 'CocoaSecurity'
# 数据层
pod 'FMDB', '~> 2.5'
#-------- (2) 网络层组件 --------#
# 下载器
#pod 'TCBlobDownload' #ARC
# 网络层
pod 'AFNetworking', '~> 3.0'
pod 'ASIHTTPRequest', '~> 1.8.2'
#pod 'WebViewProxy' #webview网络代理
pod 'Reachability', '~> 3.2'
#-------- (1) 集成功能 --------#
# 分享
pod 'OpenShare', '~> 0.0'
# 文件管理
pod 'FCFileManager' #ARC
# 热修复
#pod 'JSPatch'
# JS与ObjC交互
#pod 'WebViewJavascriptBridge', '~> 4.1.5'
#pod 'NJKWebViewProgress'
# 唯一UUID
pod 'FCUUID'
# 钥匙串
pod 'UICKeyChainStore'
pod 'SSKeychain'
#-------- (0) 集成工具 --------#
# Flurry-用户行为统计工具
#pod 'FlurrySDK', '~>6.7'
# pod 'Flurry-iOS-SDK/FlurrySDK'
# Rollout-审核助手工具
# pod 'Rollout.io', '~> 0.9.2'
# 崩溃统计
pod 'Fabric'
pod 'Crashlytics'
# Reveal-UI调试工具
pod 'Reveal-iOS-SDK', :configurations => ['Debug']
# 真机抖动打印日志
pod 'iConsole', '~> 1.5.3'
# 打印日志
pod 'CocoaLumberjack'
#-----------------------------#
end #<---- 定义 common_used_pods 结束 ---->#
#<---- 配置 target 开始 ---->#
target 'YourTargetName' do
common_used_pods
end
# target 'SomeTargetName' do
# common_used_pods
# end
#<---- 配置 target 结束 ---->#

Cocoapods新建pod教程

如何在CocoaPods中制作含有ARC和MRC工程的SPEC

基于Cocoapods单工程多应用架构总结

Cocoapods的Podfile常见语法总结

可以将第三方框架打包到静态库中,导入原来的项目中不引起同名第三方库的命名冲突

使用CocoaPods开发并打包静态库

pod install后出现的错误
[!] Your Podfile has had smart quotes sanitised. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice. 出现这个错误是因为使用文本编辑编辑了Podfile, 解决办法:不要使用文本编辑去编辑Podfile,使用Xcode编辑,或者使用终端敲命令去编辑。
解决:http://www.cnblogs.com/Rinpe/p/5015753.html
这个好:Replace smart quotes with regular straight quotes
http://dan.hersam.com/tools/smart-quotes.html

Pod语法 (文/_健健(简书作者))

source ‘URL’ : 指定镜像仓库的源

platform : ios, ‘6.0’ : 指定所支持系统和最低版本

inhibit_all_warnings! :屏蔽所有warning

workspace ‘项目空间名’: 指定项目空间名

xcodeproj ‘工程文件名’:指定xcodeproj工程文件名

下面都是引入库的语句:

pod ‘库名’, : 引入库,什么版本都可以(一般就是最新版本了)

pod ‘库名’, ‘版本’ : 引入指定版本的库,下面的运算符可以指定版本的范围:

< >= <= :不解释

~ > : 从指定版本到倒数第二位版本号升1为止,比如 ‘~> 1.2.1’是指 1.2.1 <= 版本 < 1.3.0

pod ‘库名’, :podspec => ‘podspec文件路径’ : 指定导入库的podspec文件路径

pod ‘库名’, :git => ‘源码git地址’ : 指定导入库的源码git地址

pod ‘库名’, :tag => ‘tag名’ : 指定导入库的Tag分支


具体的Podfile的语法和用法见文档: Podfile 语法规范Podfile 的用法见文档

文/_健健(简书作者)