vip*_*zer 5 provisioning ios fastlane
我最近在我的应用程序中添加了一个通知扩展,该扩展使用 fastlane 构建得很好。添加通知扩展后,由于某些代码签名问题,构建总是失败。
\n\n构建我的应用程序并将其上传到 TestFlight 的通道是:
\n\n lane :beta do\n increment_build_number(\n build_number: latest_testflight_build_number + 1,\n xcodeproj: "ios.xcodeproj"\n )\n match(app_identifier: ["my.app.bundleid", "my.app.bundleid.extension" type: "appstore") \n gym(scheme: "prod")\n ENV["DELIVER_ITMSTRANSPORTER_ADDITIONAL_UPLOAD_PARAMETERS"] = "-t DAV"\n pilot(\n skip_submission: true,\n skip_waiting_for_build_processing: true\n ) \n end\nRun Code Online (Sandbox Code Playgroud)\n\n我已经为两个捆绑 ID 创建了应用程序 ID 和配置文件,并且为它们启用了推送通知。
\n\n即使我在运行后收到以下错误fastlane beta:
[19:13:20]: $ /usr/bin/xcrun /Library/Ruby/Gems/2.3.0/gems/fastlane-2.96.1/gym/lib/assets/wrap_xcodebuild/xcbuild-safe.sh -exportArchive -exportOptionsPlist \'/var/folders/vq/j6j2lh1s3cz7cbpw7shc9149fy4t4_/T/gym_config20180601-5305-a3y0ow.plist\' -archivePath /Users/viktor.plezer/Library/Developer/Xcode/Archives/2018-06-01/prod\\ 2018-06-01\\ 19.07.57.xcarchive -exportPath \'/var/folders/vq/j6j2lh1s3cz7cbpw7shc9149fy4t4_/T/gym_output20180601-5305-ghy31c\' \n+ xcodebuild -exportArchive -exportOptionsPlist /var/folders/vq/j6j2lh1s3cz7cbpw7shc9149fy4t4_/T/gym_config20180601-5305-a3y0ow.plist -archivePath \'/Users/viktor.plezer/Library/Developer/Xcode/Archives/2018-06-01/prod 2018-06-01 19.07.57.xcarchive\' -exportPath /var/folders/vq/j6j2lh1s3cz7cbpw7shc9149fy4t4_/T/gym_output20180601-5305-ghy31c\n2018-06-01 19:13:21.181 xcodebuild[7741:1606819] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path \'/var/folders/vq/j6j2lh1s3cz7cbpw7shc9149fy4t4_/T/prod_2018-06-01_19-13-21.180.xcdistributionlogs\'.\n2018-06-01 19:13:25.613 xcodebuild[7741:1606819] [MT] IDEDistribution: Step failed: <IDEDistributionSigningAssetsStep: 0x7ff969a6c950>: Error Domain=IDEDistributionSigningAssetStepErrorDomain Code=0 "Locating signing assets failed." UserInfo={NSLocalizedDescription=Locating signing assets failed., IDEDistributionSigningAssetStepUnderlyingErrors=(\n"Error Domain=IDEProvisioningErrorDomain Code=9 \\"\\"prod.app\\" requires a provisioning profile with the Push Notifications feature.\\" UserInfo={NSLocalizedDescription=\\"prod.app\\" requires a provisioning profile with the Push Notifications feature., NSLocalizedRecoverySuggestion=Add a profile to the \\"provisioningProfiles\\" dictionary in your Export Options property list.}"\n)}\nerror: exportArchive: "prod.app" requires a provisioning profile with the Push Notifications feature.\n\nError Domain=IDEProvisioningErrorDomain Code=9 ""prod.app" requires a provisioning profile with the Push Notifications feature." UserInfo={NSLocalizedDescription="prod.app" requires a provisioning profile with the Push Notifications feature., NSLocalizedRecoverySuggestion=Add a profile to the "provisioningProfiles" dictionary in your Export Options property list.}\n\n** EXPORT FAILED **\n[19:13:26]: Exit status: 70\n[19:13:26]: No provisioning profile provided\n[19:13:26]: Make sure to pass a valid provisioning for each required target\n[19:13:26]: Check out the docs on how to fix this: https://docs.fastlane.tools/actions/gym/#export-options\nRun Code Online (Sandbox Code Playgroud)\n\n我已将两个捆绑 ID 添加到我的 Matchfile 中,fastlane 可以正确下载证书。
\n\nProvisioningProfiles 字典看起来像:
\n\nINFO [2018-06-01 20:08:45.03]: \xe2\x96\xb8 <?xml version="1.0" encoding="UTF-8"?>\nINFO [2018-06-01 20:08:45.03]: \xe2\x96\xb8 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">\nINFO [2018-06-01 20:08:45.03]: \xe2\x96\xb8 <plist version="1.0">\nINFO [2018-06-01 20:08:45.03]: \xe2\x96\xb8 <dict>\nINFO [2018-06-01 20:08:45.03]: \xe2\x96\xb8 <key>method</key>\nINFO [2018-06-01 20:08:45.03]: \xe2\x96\xb8 <string>app-store</string>\nINFO [2018-06-01 20:08:45.03]: \xe2\x96\xb8 <key>provisioningProfiles</key>\nINFO [2018-06-01 20:08:45.03]: \xe2\x96\xb8 <dict>\nINFO [2018-06-01 20:08:45.03]: \xe2\x96\xb8 <key>my.app.bundleid.extension</key>\nINFO [2018-06-01 20:08:45.03]: \xe2\x96\xb8 <string>match AppStore my.app.bundleid.extension</string>\nINFO [2018-06-01 20:08:45.03]: \xe2\x96\xb8 <key>my.app.bundleid</key>\nINFO [2018-06-01 20:08:45.03]: \xe2\x96\xb8 <string>match AppStore my.app.bundleid</string>\nINFO [2018-06-01 20:08:45.03]: \xe2\x96\xb8 </dict>\nINFO [2018-06-01 20:08:45.03]: \xe2\x96\xb8 <key>signingStyle</key>\nINFO [2018-06-01 20:08:45.03]: \xe2\x96\xb8 <string>manual</string>\nINFO [2018-06-01 20:08:45.03]: \xe2\x96\xb8 </dict>\nINFO [2018-06-01 20:08:45.03]: \xe2\x96\xb8 </plist>\nINFO [2018-06-01 20:08:45.03]: \xe2\x96\xb8 -----------------------------------------\nRun Code Online (Sandbox Code Playgroud)\n\n为什么 fastlane 开始搜索 prod.app 而不是 my.app.bundleid 的配置文件?
\n这正是我收到的错误,我的情况是CFBundleIdentifier扩展的 plist 文件中的值无效。当我将其更改为以下内容后,构建成功:
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3486 次 |
| 最近记录: |