XcodeBuild 需要 Target 的配置文件吗?错误域=IDEProvisioningErrorDomain 代码=9
XcodeBuild requiring provisioning profile for Target? Error Domain=IDEProvisioningErrorDomain Code=9
希望这只是一些用户错误,但我认为 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 添加到我的配置文件字典中,但它没有用,我只是想构建我的开发 scheme/config。使用 GUI 从成功的 archive/build 中获取 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><none></string>
</dict>
</plist>
如何为我的 Target 设置配置文件?或者这里出了什么问题。
我每天都在学习很多东西,但幸运的是一位高级开发人员能够帮助我弄清楚如何让 xcodebuild 为我工作。我正在使用 Xcode 10.0
似乎在Build Settings
中我的bundle identifier在Packaging
中只需要包含基本的Bundle Identifier,com.mycompany.app
,没有后缀[=36] =] 可以加上,不然会建.ipa文件失败
我公司的配置文件很多。我们每个环境都有一个,但事实证明我们有一个包罗万象的配置文件,我们的应用程序宁愿使用它com.mycompany.*
我在那里还有更多的学习要做。
我使用了 fastlane,这是我最初想做的,我想使用 xcodebuild 我需要插入配置文件 UUID 作为参数。这是我的 fastfile 中的新 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*****\""
)
希望这只是一些用户错误,但我认为 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 添加到我的配置文件字典中,但它没有用,我只是想构建我的开发 scheme/config。使用 GUI 从成功的 archive/build 中获取 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><none></string>
</dict>
</plist>
如何为我的 Target 设置配置文件?或者这里出了什么问题。
我每天都在学习很多东西,但幸运的是一位高级开发人员能够帮助我弄清楚如何让 xcodebuild 为我工作。我正在使用 Xcode 10.0
似乎在
Build Settings
中我的bundle identifier在Packaging
中只需要包含基本的Bundle Identifier,com.mycompany.app
,没有后缀[=36] =] 可以加上,不然会建.ipa文件失败我公司的配置文件很多。我们每个环境都有一个,但事实证明我们有一个包罗万象的配置文件,我们的应用程序宁愿使用它
com.mycompany.*
我在那里还有更多的学习要做。我使用了 fastlane,这是我最初想做的,我想使用 xcodebuild 我需要插入配置文件 UUID 作为参数。这是我的 fastfile 中的新
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*****\""
)