xcode 9手动签名**导出失败**

时间:2018-02-03 19:19:31

标签: ios xcode jenkins xcode9 provisioning-profile

我正在尝试使用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导出,但无法通过命令执行此操作。任何帮助都是赞赏的。

3 个答案:

答案 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

Xcode Plugin of Jenkins not working with Xcode9.0

答案 2 :(得分:0)

在我的情况下......我在targetapp.plist下有错误的包标识符 - &gt;供应配置文件(即targetapp包ID和供应配置文件包ID不同)。将其更改为正确的(targetapp bundle id to provisionig profile)后,此问题得到解决