在命令行中构建后缺少推送通知权限



首先,我通过命令行构建我的应用程序-不幸的是,这是必要的,因为我使用Azure DevOps来做构建。

由于应用程序有一个扩展,我创建了两个配置文件(应用程序有推送通知功能),并通过plist文件(multi-provisioning-profiles.plist)构建和签署ipa)如下:

xcodebuild -sdk iphoneos -configuration Release -project myapp.xcodeproj -scheme MyApp archive -archivePath myapp.xcarchive CODE_SIGNING_ALLOWED=NO

xcodebuild -sdk iphoneos -configuration $(Configuration) -project myapp.xcodeproj build -exportArchive -archivePath myapp.xcarchive -exportOptionsPlist multi-provisioning-profiles.plist -exportPath /ipa

ipa然后成功上传,不久之后我收到苹果关于推送通知权利的错误电子邮件。

你知道我遗漏了什么吗?

为了完整起见,这里是multi-provisioning-profiles.plist文件还:

<dict>
<key>provisioningProfiles</key>
<dict>
<key>[My app key]</key>
<string>[UUID of app's prov profile]</string>
<key>[My extension key]</key>
<string>[UUID of extension's prov profile]</string>
</dict>
<key>signingCertificate</key>
<string>iOS Distribution</string>
<key>signingStyle</key>
<string>manual</string>
<key>method</key>
<string>app-store</string>
<key>teamID</key>
<string><[My team ID]</string>
</dict>
</plist>

问题似乎源于未对存档进行签名(CODESIGNINGALLOWED=NO在这种情况下是坏的)。一旦xarchive与配置文件签署,我就不会在上传后收到苹果的电子邮件。

我最初避免对存档进行签名,因为我很难让它与多个配置文件一起工作,但最终找到了以下解决方案:https://stackoverflow.com/a/29605731/2520623

作为参考,这是我最后的存档命令的样子:

xcodebuild -sdk iphoneos -configuration Release -project myapp.xcodeproj -scheme MyApp archive -archivePath myapp.xcarchive -allowProvisioningUpdates OTHER_CODE_SIGN_FLAGS=--keychain tempkeychain.keychain APP_PROFILE=[UUID of app's prov profile] EXTENSION_PROFILE=[UUID of extension's prov profile]

相关内容

  • 没有找到相关文章

最新更新