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

Ios xcode 9手动签名**导出失败**,ios,xcode,jenkins,xcode9,provisioning-profile,Ios,Xcode,Jenkins,Xcode9,Provisioning Profile,我正在尝试使用Jenkins for Ios项目进行持续集成。我正在使用下面的命令手动指定代码签名标识和配置文件 /usr/bin/xcodebuild-workspace“Project.xcworkspace”-scheme “项目测试”-archivePath构建/项目-配置发布 存档代码\u符号\u样式=手动 供应\u PROFILE=“公司名称名称ADHOCDribution” CODE\u SIGNING\u IDENTITY=“iPhone开发者:xxxxxxx xxxxx(xxx

我正在尝试使用Jenkins for Ios项目进行持续集成。我正在使用下面的命令手动指定代码签名标识和配置文件

/usr/bin/xcodebuild-workspace“Project.xcworkspace”-scheme “项目测试”-archivePath构建/项目-配置发布 存档代码\u符号\u样式=手动 供应\u PROFILE=“公司名称名称ADHOCDribution” CODE\u SIGNING\u IDENTITY=“iPhone开发者:xxxxxxx xxxxx(xxxxxxxxx)”

**存档成功**

对于导出IPA,我使用以下命令

/usr/bin/xcodebuild-exportArchive-archivePath “build/Project.xarchive”-exportPath“build/Project.ipa” -exportoptions plist“Build/Project.xarchive/Info.plist”

错误消息:

错误域=IDEProvisioningErrorDomain代码=9“ProjectTest.app” 需要具有推送通知和Apple的配置文件 支付功能。“UserInfo={NSLocalizedDescription=“ProjectTest.app” 需要具有推送通知和Apple的配置文件 支付功能,nsLocalizedRecoverysSuggestion=将配置文件添加到 导出选项属性中的“provisioningProfiles”字典 列表}

**导出失败**


可以从IDE导出,但无法通过from命令进行导出。非常感谢您的帮助。

您可以尝试在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>

teamID
xxxxx
供应文件
*com.xxxxxx*
*配置文件名*
方法
发展
然后加载以下内容: xcodebuild-exportArchive-exportOptionsPlist“path/to/this.plist”


并确保使用正确的。最好使用配置文件的ID而不是名称,或者从磁盘中删除所有旧配置文件。

您可以尝试在exportOptions中指定正确的配置文件。列表示例:

<?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>

teamID
xxxxx
供应文件
*com.xxxxxx*
*配置文件名*
方法
发展
然后加载以下内容: xcodebuild-exportArchive-exportOptionsPlist“path/to/this.plist”


并确保使用正确的。与其使用名称,不如使用配置文件的id或从磁盘中删除所有旧配置文件。

在我的情况下……我在targetapp.plist-->配置文件下使用了错误的包标识符(即targetapp包id和配置文件包id不同)。在将其更改为正确的配置文件(targetapp bundle id为provisioning IG profile)后,此问题得到解决

在我的情况下……我在targetapp.plist-->配置文件下使用了错误的bundle标识符(即targetapp bundle id和provisioning profile bundle id不同)。在将其更改为正确的配置文件(targetapp bundle id到Provisioning IG profile)后,此问题得到解决

请尝试此解决方案。我在Xcode 9.0和9.2中成功导出IPA


试试这个解决方案。我在Xcode 9.0和9.2中成功导出IPA


您的声明说明(需要具有推送通知和Apple Pay功能的配置文件):推送通知和Apple Pay功能不包括在您的配置文件中。@shivam它包括在IDE中,可以正常工作。但无法通过命令行执行此操作。您的语句说明(需要具有推送通知和Apple Pay功能的设置配置文件):推送通知和Apple Pay功能不包含在您的设置配置文件中。@shivam它包含在IDE中,可以正常工作。但无法通过命令行执行。感谢您的回复。使用上述模式。但收到了此错误。错误域=IDEProfileQualificationErrorDomain代码=3“设置配置文件”companyQAAdhocDistribution不是“iOS应用程序开发”配置文件。UserInfo={IDEProfileQualificationError\u profile=,NSLocalizedDescription=设置配置文件“companyQAAdhocDistribution”不是“iOS应用程序开发”配置文件。}**导出失败**将“开发”更改为“特别”或您需要的方法。(在exportOptions.plist文件中)感谢您的回复。使用上述模式。但收到了此错误。错误域=IDEProfileQualificationErrorDomain代码=3“设置配置文件”companyQAAdhocDistribution不是“iOS应用程序开发”配置文件。UserInfo={IDEProfileQualificationError\u profile=,NSLocalizedDescription=设置配置文件“companyQAAdhocDistribution”不是“iOS应用程序开发”配置文件。}**导出失败**将“开发”更改为“特别”或您需要的方法。(在exportOptions.plist文件中)