上传 framework 到 cocoapods,使用 cocoapods 管理自己的第三方库

  将自己的开源代码上传到 cocoapods 使用 cocoapods 管理网上资源很多,但是有的项目涉及一些公司内部协议问题项目不能开源,只能制作成 framework, 可以手动导入 framework,但是相对麻烦,可以将制作好的 framework 上传 cocoapods 交有 cocoapods 来管理,大部分都与普通的开源项目配置一致,只需要改下 podspec 的配置。

1. 制作framework,比如命名为 MySDK.framework, 制作的 MySDK.framework 中是否包含第三方库比如 AFN 等,需要注意的是使用者项目中也导入了 AFN,此时就会出现冲突的问题,所以 MySDK.framework  如果使用了很常用的第三方库应将第三方库重命名,以免出现冲突。

2. 准备 githup 账号,登录 githup,新建仓库:eg: bluetooth-sdk,注意添加 LICENSE 文件,这个在配置 podspec 文件中需要使用,也可以后续添加

3. 克隆仓库到本地(默认本地 master 关联 远程 master):

git clone xxxx.bluetooth-sdk.git

4. 添加 .gitignore 文件

5. 拷贝制作好的 MySDK.framework 到仓库目录下并提交到 githup,执行命令依次如下:

cd path  // path 为本地仓库的根目录
cp /xxx/xxx/MySDK.framework ./     // 将 MySDK.framework 拷贝至当前目录下

git add .                   // 提交代码
git commit -m "add init"
git push

git tag -a v1.0 -m "v1.0"  // 添加 tag 在配置 pod 的配置文件中需要使用
git push origin v1.0
git tag                 // 查看 tag

6. 至此已将代码提交至githup且 tag 为 v1.0

7. 创建 podspec 配置文件

   1. 进入仓库根目录下创建配置文件命名与工程名相同,创建方式有两种,

   一种 创建普通文件后缀名为 .podspec, 此为空白文件,可复制后面编辑的内容

touch MySDK.podspec

    第二种使用 pod 命令    创建,这个会自带模板

pod spec create MySDK

8. 编辑 MySDK.podspec 文件


Pod::Spec.new do |s|

  s.name         = "CDBleSDK"
  s.version      = "1.0.1"
  s.summary      = "蓝牙数据交互SDK"

  s.description  = "蓝牙中心设备与外设(充电桩)通讯交互SDK"

  s.homepage     = "https://github.com/lele9096/bluetooth-sdk"
  
  s.license      = { :type => "MIT", :file => "LICENSE" }   # s.license      = { :type => "MIT", :file => "FILE_LICENSE" }

  s.author             = { "作者" => "你的邮箱" }
  # 支持 IOS 8.0 以上的版本
  s.ios.deployment_target = "8.0"
  
  s.source       = { :git => "https://github.com/xxx/bluetooth-sdk.git", :tag => "v1.0" }

# s.source_files 此路径为相对于 CDBleSDK.podspec 的文件路径,且此路径文件夹为 需要暴露给 别人文件的文件夹
  s.source_files  = "CDBleSDK.framework/Headers", "*.{h,m}"

  # 此处未需要添加的 framework 为动态库
  s.vendored_frameworks = 'CDBleSDK.framework'

  s.requires_arc = true

  # s.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" }
  # 此处为依赖 比如你自己的framework 依赖的第三方 在此使用 s.dependency 添加
  # s.dependency "JSONKit", "~> 1.4"

end

9. 校验 MySDK.spec 文件

pod lib lint

 如果有错误按照提示修改错误即可,当时最大的坑的就是报  s.source_files 的错误,这个的说明在配置中已写明

10. 上传

pod trunk push --allow-warnings

等待上传成功,如果上传提示tag 什么的错误修改配置文件或者重新打tag上传,因为要根据tag从githup上拉取代码编译

11. 检验,上传成功之后执行

pod search MySDK

如果搜索不出来执行下面操作:

pod setup
pod search MySDK

如果还是没有的话,清除 pod 缓存文件:

 前往文件夹:~/Library/Caches/CocoaPods/Pods/   删除  search_index.json 文件

执行 命令

pod setup
pod search MySDK

此时应该可以看到 上传的 MySDK pod 文件

 

如果更新之后还是找不到 更新的库文件使用命令: pod repo update --verbose

 

 

 

你可能感兴趣的:(技巧心得)