使用Jenkins+xcodebuild搭建iOS的持续集成系统
来源:互联网 发布:高跟鞋推荐 知乎 编辑:程序博客网 时间:2024/06/08 15:34
准备工作:
* 向keychain导入证书,向xcode导入provisioning profile. 都是双击即可导入
* 在xcode中设置bundle id, 这个bundleid需要为将要使用签名的证书允许的.
* signing identity, provision(provisioning profile最好是anySDK也选上,但不知道是不是必须) , 并在preferences中增加对应的开发者账号(增加账号这步不知道是不是必须)
然后通过以下命令行得到工程的配置信息
*首先到iOS的工程目录
*然后运行如下命令,将工程按照指定的scheme编译成xrchive文件. 我的scheme比较简单,是默认的Unity-iPhone. 所有的certificate, profile, 都是按照xcode中设置选择的
上面运行的命令行输出中会打印使用的是哪个签名.
如果需要覆盖设置,加入
CODE_SIGN_IDENTITY="iPhone Distribution: Name1 Name2"(这个没有验证过)
PROVISIONING_PROFILE="UDID_Of_Provisioning_Profile"
* 下面导出为ipa, 有两个办法
第一个办法是实用xcrun. 这个办法通过了测试, 并且可以安装.
如果希望替换企业签名,可以运行如下命令
第二个办法是实用xcodebuild
可能出现的问题:
* 如果导出过程中出现 CSSMERR_TP_NOT_TRUSTED, 可以尝试到苹果网站下载并安装Apple Woldwide Developer Relations Certification Authority证书
下载地址 http://www.apple.com/certificateauthority/, 然后选择
Worldwide Developer Relations - G2 Certificate
WWDR
Root
参考 https://developer.apple.com/legacy/library/technotes/tn2250/_index.html#//apple_ref/doc/uid/DTS40009933-CH1-TNTAG19
* 如果导出ipa过程中出现resource envelope is obsolete, 那么需要修改一下程序运行参数,首先找到PackageApplication的位置
第一步: 不要使用任何和resource rules有关的东西, 做如下检查. 改为这个, codesign的时候就不报上面的错误了。
第二步:使用vim去修改里面的运行参数.
* 如果碰到 Program /usr/bin/zip returned 15 : [zip I/O error: No such file or directory的错误,那么应该是在导出的输出目录没有使用绝对路径, 这里不能使用相对路径.
* 记得在login item里面增加企业签名,不要在系统中(在login的tab, 点击+, 然后选择p12)
* 第一次签名,记得询问权限的时候点击一直允许,否则选择私钥然后get info, 然后trust里面选择允许任意.
* 在Jenkins上执行xcodebuild并需要codesign的时候,程序需要用到login.keychain, 这个时候没有询问权限就被自动拒绝了。 解决办法是在jenkins调用xcodebuild之前,利用命令行对login.keychain授权, 否则会报user interaction is not allowed的错误
security unlock-keychain -p "your_computer_password" ~/Library/Keychains/login.keychain
----
第一次上面改成功了,后来换了一个证书,一个privioning, 结果运行上面结果也不行了。只能:
- 使用Jenkins+xcodebuild搭建iOS的持续集成系统
- 使用Jenkins+xcodebuild搭建iOS的持续集成系统
- 使用 Xcodebuild + Jenkins + Apache 做 iOS 持续集成
- iOS持续集成-Xcodebuild命令
- 使用Jenkins+Calabash+Cocoapods搭建iOS持续集成环境
- 使用Jenkins+Calabash+Cocoapods搭建iOS持续集成环境
- 使用Jenkins+Calabash+Cocoapods搭建iOS持续集成环境
- 使用Jenkins+Calabash+Cocoapods搭建iOS持续集成环境
- iOS进阶5--使用Jenkins搭建持续集成打包平台
- 使用Jenkins搭建iOS/Android持续集成打包平台
- 使用Jenkins搭建iOS/Android持续集成打包平台
- 使用Jenkins搭建iOS/Android持续集成打包平台
- 使用Jenkins搭建iOS/Android持续集成打包平台
- 使用Jenkins搭建iOS/Android持续集成打包平台
- 使用Jenkins搭建iOS/Android持续集成打包平台
- 手游项目使用Jenkins搭建持续集成系统
- AndroidUiAutomator使用Jenkins搭建持续集成测试系统Ⅱ
- 搭建基于"Jenkins"的iOS持续集成环境
- 1024 MyBatis
- 2017年10月24日java笔记
- 图像处理中卷积的实现
- 【JAVASE_学习笔记】内部类
- ping命令查看网络情况
- 使用Jenkins+xcodebuild搭建iOS的持续集成系统
- 在Win7下删除Ubuntu系统分区后未分配空间如何恢复到原来的磁盘?
- 简单的form表单
- jstl 或者el表达式如何读取request中的对象
- npm install 报错的解决办法
- Java中的static关键字解析[转载]
- Windows虚拟桌面资料
- XListView
- 【java开发】IntellIJ Idea使用技巧