-
Notifications
You must be signed in to change notification settings - Fork 28
/
Podfile
145 lines (112 loc) · 3.76 KB
/
Podfile
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
# Uncomment the next line to define a global platform for your project
platform :ios, '14.0'
#source 'https://github.com/CocoaPods/Specs.git'
#source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
target 'RxStudy' do
# Comment the next line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Rx Core
pod 'RxSwift'
pod 'RxCocoa'
# Rx Extensions
pod 'RxDataSources'
pod 'NSObject+Rx'
# 在BaseViewController中有尝试使用,对于添加手势与调用会更加简单
pod 'RxGesture'
# 本质上是将异步操作转换为同步操作,这样使得测试代码更简单,
# 我在Moya转模型中进行了分类编写,可以直接转为可以使用的Result类型,同时BlockingObservable的注释也说了,它用于测试与演示,并不适合用于App的生产环境,当你在程序逻辑中使用BlockingObservable,也许是该反省自己写的代码逻辑的时候了
pod 'RxBlocking'
# 可以做主题优化,但是现在基本上适配黑暗模式即可,尝试做了全局主题,但是我想的太简单了
pod 'RxTheme'
# Networking
pod 'Moya/RxSwift'
# AlamofireNetworkActivityLogger的版本很久都没有升级,导致其绑定Alamofire无法升级,直接移除拖入,保证Alamofire和Moya可以向上升级
#pod 'AlamofireNetworkActivityLogger'
# Image
pod 'Kingfisher'
# R函数
pod 'R.swift'
# UI
pod 'DZNEmptyDataSet'
pod 'AcknowList'
pod 'MJRefresh'
pod 'FSPagerView'
pod 'JXSegmentedView'
pod 'MarqueeLabel'
pod 'SVProgressHUD'
# 被SVProgressHUD替代了
pod 'MBProgressHUD'
# SFSymbols的安全引用
pod 'SFSafeSymbols'
# Keyboard
pod 'IQKeyboardManagerSwift'
# Auto Layout
pod 'SnapKit'
# Combine 学习
pod 'Moya/Combine'
pod 'CombineExt'
pod 'CombineCocoa'
# Bug&Crash
pod 'KSCrash'
# 调试
pod 'LookinServer', :configurations => ['Debug']
pod 'CocoaDebug', :configurations => ['Debug']
pod 'FunnyButton', :configurations => ['Debug']
pod 'MLeaksFinder', :configurations => ['Debug']
pod 'LifetimeTracker'
# 日志打印与跟踪
pod 'CocoaLumberjack/Swift'
# 用于日志压缩为zip
pod 'SSZipArchive'
# 缓存
#pod 'Cache'
#pod 'YYCache'
# 注意,以下是没有使用的库
# Rx Extensions
# 对序列的操作符的扩充,让序列从一种类型转换到另一种类型变得更加快捷 https://github.com/RxSwiftCommunity/RxSwiftExt
pod 'RxSwiftExt'
pod 'RxViewController'
pod 'RxOptional'
# Date
pod 'SwiftDate'
# Keychain
pod 'KeychainAccess'
# SwiftLint
#pod 'SwiftLint', :configuration => 'Debug'
# web缓存+离线缓存
pod 'JWNetAutoCache'
# 考虑使用货拉拉的TheRouter
pod 'TheRouter'
end
=begin
pre_install do |installer|
require 'typhoeus'
Typhoeus::Config.user_agent = 'CocoaPods'
# ....
end
=end
# 如果你是M1系列芯片,请添加下面的脚本, 去掉=begin和=end,便于在模拟器上运行
=begin
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
# Needed for building for simulator on M1 Macs
config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
end
end
end
=end
# 通过打印RxSwift.Resources.total表示当前的RxSwift中资源使用情况
# https://juejin.cn/post/7088692280852217887
# https://www.jianshu.com/p/671a68870bdf
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == 'RxSwift'
target.build_configurations.each do |config|
if config.name == 'Debug'
config.build_settings['OTHER_SWIFT_FLAGS'] ||= ['-D', 'TRACE_RESOURCES']
end
end
end
end
end