iOS之开发配置iOS Developer

iOS 创建自己的开源库

2017-04-01  本文已影响127人  e5311f1a36e5

概要

  1. 创建开源库主要的坑在于编辑.podspec文件,基本正确编辑该文件就没问题了
  2. 如果熟练之后可以继续学习创建私有库
  3. 如果你的开源库依赖其他的非系统库,请参考该文章参考文章

1. 参考文章:


2. 坑

(1) 注意不要出现拼写错误
(2) 如何正确编写.podspec文件,请参考下面的教程
(3) could not remote branch (没有找到远程分支)

可能是tag或者当前分支对应错误

(4) [!] The validator for Swift projects uses Swift 3.0 by default, if you are using a different version of swift you can use a .swift-version file to set the version for your Pod. For example to use Swift 2.3, run:
echo "2.3" > .swift-version.

运行一下echo "2.3" > .swift-version就好了

(5) cocoapods There was a problem validating the URL

可以忽略,继续验证就没了

(6) ERROR | [iOS] unknown: Encountered an unknown error (784: unexpected token at '2017-04-04 23:20:32.069 simctl[10414:1077354] CoreSimulator detected Xcode.app relocation or CoreSimulatorService version change. Framework path (/Applications/Xcode.app/Contents/Developer/Library/PrivateFrameworks/CoreSimulator.framework) and version (375.20) does not match existing job path (/Applications/Xcode.app/Contents/Developer/Library/PrivateFrameworks/CoreSimulator.framework/Versions/A/XPCServices/com.apple.CoreSimulator.CoreSimulatorService.xpc) and version (338.16). Attempting to remove the stale service in order to add the expected version.
') during validation.

重新发布一下就好,没有影响

(7) [!] Unable to accept duplicate entry for: openLibraryDemo (2.0.0)

一般是因为podspec中的版本号有问题

(8) 注册时收不到验证邮件

使用163邮箱可能会收不到验证邮件,使用qq邮箱可以避免这个问题

(9)注意无论是第一次发布,还是之后发布更新,最后两步一定验证podspec文件和发布到cocoapods的操作,打tag一定在验证podspec之前,否则很容易出现上面的第三个坑


3. 创建自己的开源库

  1. 创建一个framework工程,把需要的代码放到该工程里
  2. 创建一个git库用于托管开源库的代码
  3. 注册cocoapods(trunk)
  4. 创建并编辑.podspec文件
  5. 创建并编辑license文件
  6. 将所有文件上传git
  7. 打tag
  8. 验证.podspec文件
  9. 发布
  10. 验证是否发布成功
1. 创建一个framework工程,并复制需要开源的代码放到这里面
参考图片
2. 创建一个git仓库用于托管这个开源库的代码
参考图片
3. 注册cocoapods(trunk)

(1) 注册trunk需要cocoapods 0.33版本以上

 pod --version

(2)查看是否已经注册,如果已经注册就省略注册trunk这步就好,如果已经注册就会显示注册信息,例如名字或者邮箱账号等

pod trunk me

(3)注册trunk,此处注意不要用163邮箱注册,有收不到确认邮件的问题,我用的是qq邮箱,确认邮件收取非常快

pod trunk register testMail@qq.com "testName" --verbose

(4)然后去邮箱里面的确认邮件里点击一下链接就完成了整个注册流程

4. 创建并编辑.podspec文件

(1) 首先cd到你刚才创建的项目目录中,然后创建.podspec文件

pod spec create testProject 

(2)编辑.podspec文件

s.version:版本号
s.ios.deployment_target:支持的pod最低版本
s.summary: 简介
s.homepage:项目主页地址
s.license:许可证
s.author:作者
s.social_media_url:社交网址,这里我写的微博默认是Twitter,如果你写Twitter的话,你的podspec发布成功后会@你
s.source:项目的地址
s.source_files:需要包含的源文件
s.resources: 资源文件
s.requires_arc: 是否支持ARC
s.dependency:依赖库,不能依赖未发布的库
s.dependency:依赖库,如有多个可以这样写
        s.dependency   'AFNetworking' 
        s.license= { :type => "MIT", :file => "LICENSE" }
        s.source_files  = "threeLibTestDemo2/*"
        或者s.source_files  = "threeLibTestDemo2/\*\*/\*"
        s.source       = { :git => "https://github.com/liquangang/threeLibTestDemo2.git", :tag => "#{s.version}" }
参考图片
5. 创建并编辑license文件

(1) 在创建git仓库的时候如果选择了创建MIT文件的话,这一步就可以跳过了,就是下图中选择了MIT License就需要这一步的操作了

license文件参考图片

(2) 创建license文件

touch LICENSE

(3) 编辑LICENSE文件

6. 将所有文件上传git
7. 打tag
git tag 1.0.0 
git push origin 1.0.0
8. 验证.podspec文件
pod spec lint threeLibTestDemo2.podspec --verbose
9. .podspec 验证成功后就可以发布了
pod trunk push YJSettingTableView.podspec
成功信息
10. 验证是否发布成功

4. 更新自己的开源库

1. 第一步有两种选择,可以选择新分支去编写代码,也可以继续在主分支编写代码,下面是详细教程:

1) 创建分支的方法

2) 依然在主分支进行更新

3. 然后创建一个新的git tag
4. 验证.podspec文件,命令同上面
5. 然后发布自己的修改到cocoapods, 发布命令同上面
6. 更新使用这个库的项目就可以正常使用了
上一篇下一篇

猜你喜欢

热点阅读