0

在我的Xamarin iOS项目中,Entitlements.plist的aps-environment设置为development,用于开发测试目的。我正在使用Visual Studio Team Services Extension for the App Store将发布版本自动化到TestFlight。然而,当它使用FASTLANE飞行员上传应用程序,我得到这个错误:Xamarin中aps环境从开发到生产的自动转换

ERROR ITMS-90046: "Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, value 'development' for key 'aps-environment' in 'project' is not supported.

看起来运行持续集成构建时环境应该得到切换到production。我该如何实现自动化?

+0

你用来构建应用程序的配置是什么(配置在Xamarin.iOS任务中)?您是否为Xamarin.iOS任务指定了Provisioning Profile File?对于该配置,iSO Bundle Signing(右键点击project => Properties => iSO Bundle Signing)的设置是什么?您是否正确选择了配给配置文件和自定义entitlements.plist?您可能会生成一个新配置文件并将其用于该配置。 [使用TestFlight](https://developer.xamarin.com/guides/ios/deployment,_testing,_and_metrics/testflight/) –

+0

在Xamarin.iOS任务中,Signing&Provisioning设置为使用文件内容,但所有字段是空白的。在项目的iOS捆绑签名中,签名身份是开发人员(自动)或分发(自动),具体取决于构建配置。供应配置文件是自动的。配置(无推送通知)正在工作。对于这两种配置,Custom Entitlements都设置为“Entitlements.plist”。我应该把'Entitlements.plist'分成'Entitlements.developer.plist'和'Entitlements.distribution.plist'? –

+0

您可以尝试一下并检查结果。 –

回答

2

删除Entitlements.plist,并添加Entitlements.developer.plistEntitlements.production.plist。在iOS捆绑软件设置中,根据生成配置输入Customer Entitlements的相应plist文件。

+0

在标准模板或Xamarin文档中没有关于此方法的信息。这让我怀疑Xamarin是否有一种不同的方法。它的工作,虽然。 –