使用cocoapods安装自己第三方库
准备工作
需要一个好的cocoapods环境,可以参考这个www.jianshu.com/p/ab6411a05… 来配置环境; 其次注册一个github账户
步骤
1. 创建一个spec Repo的私有库和一个存放项目工程文件的远程仓库
specRepo库
工程文件库
2. 生成spec Repo,其中包含第三方库的podspec文件,管理pod库
pod repo add MyAppSpec https://github.com/zdh-123/MyAppSpec.git
这个时候可以去看看在.cocoapods/repods里是否生成了MyAppSpec
3. 创建三方库的工程文件并上传到远程私有库中
// 创建工程文件的命令
pod lib create MyAppTestKit
有时会因为网络问题,创建出错,我多试几次就可以了
然后可以在这个路径找到需要进行开发的地方,默认里面有一个replaceMe.m文件,直接删除然后创建自己想要的文件进行开发就可以了
“/Users/zdh/Downloads/我的App/PodProject/MyAppTestKit/MyAppTestKit/Classes”
接下来进行检查创建的工程是否可以使用 先cd到工程的Example文件下然后在pod install,如图
更改podspec文件,比如我添加AFNetworking的依赖
验证本地podspec文件的有效性
pod lib lint MyAppTestKit.podspec --allow-warnings
最后本地项目上传到远程库中
git remote add origin https://github.com/zdh-123/MyAppTestKit.git
//查看当前分支时什么
git branch --show-current
git push -u origin master或者git push -u origin main
出现了一个密码凭证错误,参考www.cnblogs.com/xuepangpang… 意思是:原先的密码凭证从2021年8月13日开始就不能用了,必须使用个人访问令牌(personal access token),就是把你的密码替换成token! 也就是说,你需要使用 token 来代替密码了。 token 在哪里生成呢? 在github个人设置页面,找到Setting ->选择开发者设置Developer setting -> 选择个人访问令牌Personal access tokens,然后选中生成令牌Generate new token -> 生成令牌Generate token 在上述位置根据提示选项,生成新的 token 之后,再次上传时,在 密码 位置输入上述 token 即可!
参考blog.csdn.net/qq_35812205…
这里注意在生成token哪里要勾选workdFlow,不然会爆403错误
终于成功了
可以在github上看到自己的项目了
接着改下tag
git tag -a 0.1.1 -m "0.1.1"
git push origin 0.1.1
当然也可以使用Sourcetree来进行可视化的代码管理
第一次提交的时候会跳出弹框让你输入账户密码,和前面操作一样使用token进行验证
4. 向私有的spec Repo远程仓库提交podspec
pod repo push MyAppSpec MyAppTestKit.podspec --allow-warnings
发现AFNetworking报错,改下MyAppTestKit.podspec,把AFNetworking先注释掉再跑
5. 检查和使用自己的三方库
新建一个工程引入cocoapods,
然后在podFile文件下加入
source 'https://github.com/zdh-123/MyAppSpec.git'
pod 'MyAppTestKit'
最后pod install
在新工程里看到自己的第三方库被引用
跑下代码发现出错了
在网上找了下解决方案
解决方法
Build Setting -> Build Options -> User Script Sandboxing,默认值为 Yes 改为 No 即可。当然也可以在 Build Options 下搜索 ENABLE_USER_SCRIPT_SANDBOXING 直接定位到具体选项。
再跑通过了
有时候会出现这个错误
解决方案:
在 podfile 中:在文件末尾添加以下几行。运行后,这将自动将所有 pod 目标更改为 iOS 11。pod install您无需逐一选择每个目标。
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings["IPHONEOS_DEPLOYMENT_TARGET"] = "11.0"
end
end
end
然后再跑代码就可以了
到这里就结束了。 工作很久了,本文章只为总结时做记录,无商业作用, 主要参考文章blog.csdn.net/LIUXIAOXIAO…