【jenkins】ios build failed:enterprise Certificate Signature invalid
1、问题现象
1.1、** EXPORT FAILED **
1.2、** ARCHIVE FAILED **
2、问题分析&定位
2.1、从Console log来看,应该是iOS证书问题导致build failed
2.2、进入官网,查看证书状态,发现证书状态为Invaild(也可使用工具查看:iPhone 配置实用工具.zip)
2.3、编辑invaild证书,重新生成新的enterprise证书
3、问题解决步骤
3.1、xcode–accounts,账号拥有以下两个权限
3.2、登录账号,下载profiles
3.3、安装证书(p12)
3.4、安装完证书后,在钥匙串中查看已安装证书
从Apple Member Center网站下载证书到Mac上双击即可安装(当然也可在Xcode中添加开发账号自动同步证书和[生成]配置文件)。证书安装成功后,在KeychainAccess|Keys中展开创建CSR时生成的Key Pair中的私钥前面的箭头,可以查看到包含其对应公钥的证书(Your requested certificate will be the public half of the key pair.);在Keychain Access|Certificates中展开安装的证书(ios_development.cer)前面的箭头,可以看到其对应的私钥。
3.5、进入xcode,点击manage certificates,查看已安装的证书
Certificate被配置到【Xcode Target|Build Settings|Code Signing|Code Signing Identity】下,下拉选择Identities from Profile "..."(一般先配置Provisioning Profile)。
Xcode中配置的Code Signing Identity(entitlements、certificate)必须与Provisioning Profile匹配,并且配置的Certificate必须在本机Keychain Access中存在对应Public/Private Key Pair,否则编译会报错。
4、证书配置常见错误
1.no such provisioning profile was found
Xcode Target|Genera|Identity Team下提示"Your build settings specify a provisioning profile with the UUID "xxx",howerver, no such provisioning profile was found."
Xcode Target|BuildSettings|Code Signing|当前配置的指定UDID的provisioning profile在本地不存在,此时需要更改Provisioning Profile。必要时手动去网站下载或重新生成Provisioning Profile或直接在Xcode中Fix issue予以解决(可能自动生成iOS Team ProvisioningProfile)!
2.No identities from profile
Build Settings|CodeSigning的Provisioning Profile中选择了本地安装的provisioning profile之后,Code Signing Identity中下拉提示No identities from profile “…”or No identities from keychain.
Xcode配置指定UDID的provisioning profile中的DeveloperCertificates在本地KeyChain中不存在(No identities are available)或不一致(KeyPair中的Private Key丢失),此时需去网站检查ProvisioningProfile中的App ID-Certificate-Device配置是否正确。如果是别人提供的共享账号(*.developerprofile)或共享证书(*.p12),请确保导出了对应Key Pair中的Private Key。必要时也直接在Xcode中Fix issue予以解决(可能自动生成iOS Team ProvisioningProfile)。
3.Code Signing Entitlements file do not match profile
"Invalid application-identifier Entitlement" or "Code Signing Entitlements file do not match those specified in your provisioning profile.(0xE8008016)."
(1)检查对应版本(Debug)指定的*.entitlements文件中的“Keychain Access Groups”键值是否与ProvisioningProfile中的Entitlements项相吻合(后者一般为前者的Prefix/Seed)。
(2)也可以将Build Settings|Code Signing的Provisioning Profile中对应版本(Debug)的Entitlements置空。
4.Xcode配置反应有时候不那么及时,可刷新、重置相关配置项开关(若有)或重启Xcode试试。
5、参考
《iPhone真机调试应用程序》《iOS Developer:真机测试》
《iOS Development--Certificates, Provisioning Profiles》
《关于Certificate、Provisioning Profile、App ID的介绍及其关系》
《苹果开发者账号那些事儿》《iOS關於Provisioning Profiles這些事》
《iOS Code Signing 学习笔记》《代码签名探析/Inside Code Signing》
《iOS Code Signing: 解惑/iOS Code Signing: Under The Hood》

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Appium -iOS真机运行自动化实践
前提:ios真机环境已安装ok 运行ios自动化的步骤如下: 步骤1、手机端安装WebDriverAgent 1、下载webdriverAgent ,从github上下载代码 git clone https://github.com/facebook/WebDriverAgent 运行初始化脚本 ./Scripts/bootstrap.sh 该脚本会使用 Carthage 下载所有的依赖,使用npm打包响应的js文件 执行完成后,直接双击打开 WebDriverAgent.xcodeproj 这个文件。 2、配置WebDriverAgent环境 在以下三个文件中都需要进行配置: (1).编译WebDriverAgentLib 注:Bundle identifier:com.xxx.yyyyy (xxx每个人都要不一样才行) (2).编译WebDriverAgentRunner (3)配置 IntegrationApp (4) (5).在终终端输入:xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgen...
- 下一篇
Macaca App inspector
为方便更多用户查找界面元素,提供了同时支持 Android 和 iOS 平台的 Inspector 工具,此功能也是 Macaca 录制器的重要部分。另外,Web 元素查找请直接只用chrome-inspector。 Android iOS 安装 要安装app-inspector,你需要首先安装Node.js。国内用户可以安装cnpm加快NPM模块安装速度。(切换阿里云镜像)推荐安装macaca-cli$ npm install macaca-cli -g你需要准备好你需要进行查看的移动平台的环境。Android 请安装Android SDK,iOS 安装Xcode。然后使用macaca命令行工具检测环境是否准备好。$ macaca doctor如果你看到一堆绿色的文字输出了,说明你的这个环境是OK 的。然后你就可以安装使用app-inspector。app-inspector安装$ npm install app-inspector -g从命令行启动 用法 查看手机devices$ adb devices$ app-inspector -u YOUR-DEVICE-ID关于如何获取设...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Windows10,CentOS7,CentOS8安装Nodejs环境
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS关闭SELinux安全模块
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7