【问题标题】:XcodeBuild requiring provisioning profile for Target? Error Domain=IDEProvisioningErrorDomain Code=9XcodeBuild 需要 Target 的配置文件?错误域=IDEProvisioningErrorDomain 代码=9
【发布时间】:2019-07-16 17:11:52
【问题描述】:

希望这只是一些用户错误,但我认为 xcodebuild 似乎找不到目标的配置文件,我将其称为 MyApp,MyApp.app 是我认为的目标

我更新了我的配置文件,删除了所有并重新添加了我的配置文件,检查了苹果开发门户并确保一切正常。我查看了构建设置和签名信息,但没有发现任何我知道或被同行告知的有效或需要修复的东西。我已经清理、重新启动、尝试过 fastlane,现在我只使用 xcodebuild。这是我的错误:

sudo xcodebuild -exportArchive -exportOptionsPlist 
"/Users/MyName/MyApp-ios/ExportOptions.plist" -archivePath 
'/Users/MyName/Library/Developer/Xcode/Archives/2019-02-20/MyApp             
2019-02-20 15.34.28.xcarchive' -exportPath         
"/path/MyApp.ipa" -allowProvisioningUpdates
2019-02-22 09:39:26.044 xcodebuild[15743:239787] [MT] IDEDistribution: 
-[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle 
at path '/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/DEV_2019-02- 
22_09-39-26.043.xcdistributionlogs'.
error: exportArchive: "MyApp.app" requires a provisioning profile.

Error Domain=IDEProvisioningErrorDomain Code=9 ""MyApp.app" requires a 
provisioning profile." UserInfo={NSLocalizedDescription="MyApp.app" 
requires a provisioning profile., NSLocalizedRecoverySuggestion=Add a 
profile to the "provisioningProfiles" dictionary in your Export Options 
property list.}

我将 MyApp.app 和 MyApp 添加到我的配置文件字典中,但它不起作用,我只是想构建我的开发方案/配置。也没有使用 GUI 从成功的存档/构建中获取 exportOptions.plist。

导出选项

<plist version="1.0">
<dict>
    <key>compileBitcode</key>
    <false/>
    <key>destination</key>
    <string>export</string>
    <key>method</key>
    <string>enterprise</string>
    <key>provisioningProfiles</key>
    <dict>
        <key>com.mycompany.myappDEV</key>        
        <string>*********UUID**********</string>
        <key>com.mycompany.myappQA</key>
        <string>*********UUID**********</string>
        <key>com.mycompany.myappPROD</key>
        <string>*********UUID**********</string>
    </dict>
    <key>signingCertificate</key>
    <string>iPhone Distribution</string>
    <key>signingStyle</key>
    <string>manual</string>
    <key>stripSwiftSymbols</key>
    <true/>
    <key>teamID</key>
    <string>XXXXXXXXX</string>
    <key>thinning</key>
    <string>&lt;none&gt;</string>
</dict>
</plist>

如何为我的 Target 设置配置文件?或者这里有什么问题。

【问题讨论】:

  • 显示您的ExportOptions.plist,特别是provisioningProfiles 字典。
  • @pckill 我在原帖里加了!
  • 你确定method 应该是enterprise 吗?否则 plist 看起来不错。检查供应 UUID、应用程序包标识符和团队 ID 是否不匹配。
  • @pckill 我已经检查了所有这些,一切都很好,没有不匹配或拼写错误,这是针对不进入应用商店的企业应用

标签: ios code-signing provisioning-profile xcodebuild xcode10


【解决方案1】:

我每天都在学习很多东西,但幸运的是,一位高级开发人员能够帮助我弄清楚如何让 xcodebuild 为我工作。我正在使用 Xcode 10.0

  1. 似乎在Build Settings我的包标识符Packaging中只需要包含基本的包标识符com.mycompany.app,不能添加DEV/QA/TEST的后缀,否则将无法添加构建一个 .ipa 文件

  2. 我公司的供应配置文件很多。我们为每个环境都有一个,但事实证明我们有一个包罗万象的配置文件,我们的应用程序更愿意使用 com.mycompany.* 我还有更多的学习要做。

  3. 我使用了 fastlane,这是我最初想要做的,我认为要使用 xcodebuild,我需要在其中插入配置文件 UUID 作为参数。这是我的快速文件中的新build_ios_app(),它将让我构建。 Fastlane 和 xcodebuild 将覆盖您的 xcode 和 exportoptions.plist 中的任何配置文件数据以及其他内容,例如 export_method。通过输入PROVISIONING_PROFILE_SPECIFIER,您可以省去一些麻烦。

    build_app(
        workspace: "myapp.xcworkspace",
        scheme: "DEV",
        export_method: "enterprise",
        export_options: {
        signingStyle: 'manual',
        provisioningProfiles: {
            "com.mycompany.myapp" => "*****UUID*****"
        }       
    }, 
    xcargs: "PROVISIONING_PROFILE_SPECIFIER=\"*****UUID*****\""
    

    )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多