1、创建Podfile文件
a. 打开终端
b. 输入 "cd + 项目路径",进入项目根目录
c. 输入 "pod init",创建Podfile文件
注:ls指令:查看当前目录下的文件
~ % cd /Users/smx/Desktop/TestDemo
~ TestDemo % ls
TestDemo TestDemoTests
TestDemo.xcodeproj TestDemoUITests
~ TestDemo % pod init
~ TestDemo % ls
Podfile TestDemo.xcodeproj TestDemoUITests
TestDemo TestDemoTests
2、打开Podfile文件,输入要导入的第三方。(eg:pod 'AFNetworking')
2.1 使用终端指令编辑Podfile文件
a. 输入指令 "vim Podfile",点击回车键进入待编辑状态
b. 点击 "i" 键,进入编辑模式
c. 输入指令(eg:pod 'AFNetworking'),点击ESC键,退出编辑模式
d. 英文状态下输入 :wq 保存并退出 (:w保存,:q退出,:wq保存并退出)
2.2 直接打开文件编辑Podfile文件
# 定义平台版本号
platform :ios, '9.0'
# source 'https://cdn.cocoapods.org/'
target 'TestDemo' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
pod 'AFNetworking'
end
3、执行pod install安装第三方
终端输入 pod install,回车执行
~ TestDemo % pod install
Analyzing dependencies
Downloading dependencies
Installing AFNetworking (4.0.1)
Generating Pods project
Integrating client project
[!] Please close any current Xcode sessions and use `TestDemo.xcworkspace` for this project from now on.
Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.
4、拓展
pod install // 一般是第一次想要为项目添加pod的时候使用的
pod install --verbose --no-repo-update // 会在安装相关库时,更新其它库版本。推荐使用
pod update 库名 --verbose --no-repo-update // 该指令只更新指定的库,其它库忽略
5、常用第三方库
platform :ios, ‘9.0’
source 'https://cdn.cocoapods.org/' #可不添加
# 忽略引入库的所有警告(强迫症者的福音啊)
inhibit_all_warnings!
# 多个target共用一套pod的写法,项目中不能存在名字为xueanpods,防止冲突
abstract_target 'targetsName' do
# 共用的第三方
pod 'AFNetworking' # 网络请求
pod 'Masonry' # UI布局
pod 'SVProgressHUD' # HUD提示框
pod 'IQKeyboardManager' # 键盘处理
pod 'MJRefresh' # 列表刷新
pod 'MJExtension' # 数据转模型
pod 'YYText' # 富文本
pod 'YYCache' # 数据缓存
pod 'YYCategories' # 分类
pod 'YYModel' # 模型转换
pod 'HBDNavigationBar' # 导航栏
pod 'TYCyclePagerView' # 轮播Bnner
pod 'JXCategoryView' # 分栏页面
pod 'JXPagingView/Pager' # 同上,扩展
pod 'JJException' # 异常捕获
pod 'FSCalendar' # 日历插件
pod 'SAMKeychain' # 钥匙串存取
pod 'MGJRouter' # 组件化
pod 'SDWebImage' # 网络图片加载
pod 'NullSafe'
pod 'lottie-ios', '2.5.3' # Lottie动画,2.5.3之后是Swift的版本
pod 'DZNEmptyDataSet' # 空列表占位
pod 'LSAnimator' # 动画
pod 'ReactiveObjC' # 响应式编程
pod 'TZImagePickerController' # 图片选择
pod 'TOCropViewController' # 图片裁剪
pod 'CGXPickerView' # 日期选择
pod 'XHLaunchAd' # 开屏广告
pod 'HXPhotoPicker' # 推荐,图片选择工具,可编辑裁剪,预览本地图片,九宫格插件等等功能丰富
pod 'GKPhotoBrowser' # 本地图片预览
#pod 'CocoaAsyncSocket' #套接字(UDP,UCP)
#pod 'BabyBluetooth' #蓝牙库
#pod 'GVUserDefaults' # 偏好设置
#pod 'Popover.OC' # 一款优雅易用的类似QQ和微信消息页面的右上角微型菜单弹窗
#pod 'PPCounter' # UIlabel动画
#pod 'SGQRCode' # 二维码生成和识别
#pod 'FSCalendar' # 日历插件
#pod 'ZZCircleProgress' # 圆形进度条
#pod 'UICountingLabel' # UIlabel动画
#pod 'Bugly' # 异常统计
#pod 'SAMKeychain' # 钥匙串存取
#pod 'MGJRouter' # 组件化
#pod 'LSAnimator' # 连续动画流程简化
#pod 'Wonderful' # 颜色库
#pod 'SDCycleScrollView' # 轮播库
#pod 'CYLTabBarController' # 导航库
#pod 'UICKeyChainStore' # 钥匙串存取
#pod 'UINavigation-SXFixSpace' # 导航栏Item边距
#pod 'FLEX' # 调试工具
#pod 'FMDB' # 数据库FMDB工具
#pod 'Texture' # facebook 原AsyncDisplayKit
#pod 'BMKLocationKit' # 百度定位
#pod 'YGSocialSDK' # 社会化分享
#pod 'WechatOpenSDK' # 微信SDK
#pod 'Weibo_SDK' # 微博SDK
#pod 'AliyunOSSiOS' # 阿里云存储
#pod 'JPush' # 极光APNS
#pod 'UMCommon' # 友盟SDK基础库
#pod 'UMDevice' # 友盟用于设备性能统计的工具
#pod 'UMAPM' # 友盟用于App性能统计的库
#pod 'UMShare/Social/WeChat' # 微信
#pod 'UMShare/Social/WeChatWork' # 企业微信
#pod 'UMShare/Social/QQ' # 集成QQ/QZone/TIM
#pod 'UMShare/Social/Sina' # 新浪微博
#pod 'UMShare/Social/AlipayShare' # 支付宝
#新版shareSDK - QQ、微信、微博分享
# pod 'mob_sharesdk'
# pod 'mob_sharesdk/ShareSDKPlatforms/QQ'
# pod 'mob_sharesdk/ShareSDKPlatforms/SinaWeibo'
# pod 'mob_sharesdk/ShareSDKPlatforms/WeChat'
# pod 'mob_sharesdk/ShareSDKUI'
# pod 'mob_sharesdk/ShareSDKExtension'
# pod 'mob_sharesdk/ShareSDKConfigFile'
target 'target_1' do
# 单独添加该Target单独使用的开源框架
end
target 'target_2' do
# 单独添加该Target单独使用的开源框架
end
end
# 统一修改 IPHONEOS_DEPLOYMENT_TARGET 版本号为 9.0
#post_install do |installer|
# installer.pods_project.targets.each do |target|
# flutter_additional_ios_build_settings(target)
# target.build_configurations.each do |config|
# config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
# end
# end
#end
# pod更新需注意 只能单个单个库更新 全部更新可能引起冲突
#pod update 库名 --verbose --no-repo-update
网友评论