【问题标题】:Automated conversion of aps-environment from development to production in Xamarin在 Xamarin 中自动将 aps 环境从开发转换为生产
【发布时间】:2018-02-07 00:48:07
【问题描述】:

在我的 Xamarin iOS 项目中,Entitlements.plist 将 aps-environment 设置为 development,用于开发测试目的。我正在使用Visual Studio Team Services Extension for the App Store 自动将构建发布到TestFlight。但是,当它使用 fastlane Pilot 上传应用程序时,我收到此错误:

错误 ITMS-90046:“无效的代码签名权利。您的应用程序包的签名包含 iOS 不支持的代码签名权利。具体来说,在 'project不支持 em>'。

运行持续集成构建时,环境似乎应该切换到 production。如何实现自动化?

【问题讨论】:

  • 您用于构建应用程序的配置是什么(Xamarin.iOS 任务中的配置)?您是否为 Xamarin.iOS 任务指定配置文件?该配置的 iSO 捆绑签名(右键单击项目 => 属性 => iSO 捆绑签名)的设置是什么?您是否正确选择了 Provisioning profile 和 Custom entitlements.plist?您可以生成一个新配置文件并将其用于该配置。 Using TestFlight
  • 在 Xamarin.iOS 任务中,签名和预配设置为使用文件内容,但所有字段均为空白。在项目的 iOS Bundle Signing 中,Signing Identity 是 Developer (Automatic) 或 Distribution (Automatic),具体取决于构建配置。配置文件是自动的。配置(没有推送通知)正在工作。两种配置的自定义权利都设置为Entitlements.plist。我应该把Entitlements.plist 分叉成Entitlements.developer.plistEntitlements.distribution.plist吗?
  • 你可以试试看效果。

标签: xamarin.ios apple-push-notifications app-store azure-devops fastlane


【解决方案1】:

删除Entitlements.plist,并添加Entitlements.developer.plistEntitlements.production.plist。在 iOS Bundle Signing 中,根据构建配置为 Customer Entitlements 输入对应的 plist 文件。

【讨论】:

  • 标准模板或 Xamarin 文档中没有关于这种方法的内容。这让我想知道 Xamarin 是否有不同的方法。不过,它确实有效。
  • 虽然从 Entitlements.plist 中删除 aps-environment 会起作用,但它也会从您的应用程序中删除推送通知权限。 Edwards 解决方案有效。
  • VS 2022 中的相同问题和相同解决方案。效果很好!
【解决方案2】:

我刚刚从 Entitlements.plist 中删除了 aps-environment 而没有添加新文件,它对我有用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-14
    • 2018-06-04
    • 2018-03-06
    • 2012-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多