使用cocopods导入第三方库

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

你可能感兴趣的:(使用cocopods导入第三方库)