我正在尝试使用Jenkins为Ios项目持续集成。我使用下面的命令手动指定代码签名标识和配置文件。
/ usr / bin / xcodebuild -workspace" Project.xcworkspace" -方案 " projectTest" -archivePath build / Project -configuration Release 存档CODE_SIGN_STYLE =手动 PROVISIONING_PROFILE =” CompanyNameQAAdhocDistribution” CODE_SIGNING_IDENTITY =" iPhone开发者:xxxxxxx xxxx(xxxxxxxxxx)"
**存档成功**
对于导出IPA,我使用以下命令。
/ usr / bin / xcodebuild -exportArchive -archivePath "建立/ Project.xcarchive" -exportPath" build / Project.ipa" -exportOptionsPlist" Build / Project.xcarchive / Info.plist"
错误讯息:
错误域= IDEProvisioningErrorDomain代码= 9"" ProjectTest.app" 需要配置推送通知和Apple的配置文件 付费功能。"的UserInfo = {NSLocalizedDescription =" ProjectTest.app" 需要配置推送通知和Apple的配置文件 付费功能。,NSLocalizedRecoverySuggestion =添加个人资料到 " provisioningProfiles" “导出选项”属性中的字典 列表。}
**导出失败**
能够从IDE导出,但无法通过命令执行此操作。任何帮助都是赞赏的。
答案 0 :(得分:2)
您可以尝试在exportOptions.plist示例中指定正确的配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>teamID</key>
<string>xxxxx</string>
<key>provisioningProfiles</key>
<dict>
<key>*com.xxxxxx*</key>
<string>*profile name*</string>
</dict>
<key>method</key>
<string>development</string>
</dict>
</plist>
然后加载它: xcodebuild -exportArchive -exportOptionsPlist&#34; path / to / this.plist&#34; ...
并确保使用正确的。最好使用配置文件的ID而不是名称,或从磁盘中删除所有旧的配置文件。
答案 1 :(得分:1)
试试这个解决方案。我在Xcode 9.0和9.2中成功导出了IPA
答案 2 :(得分:0)
在我的情况下......我在targetapp.plist下有错误的包标识符 - &gt;供应配置文件(即targetapp包ID和供应配置文件包ID不同)。将其更改为正确的(targetapp bundle id to provisionig profile)后,此问题得到解决