Automated Provisioning for Xamarin.iOS

In one case Xamarin.iOS has been successfully installed, the next pace in iOS evolution is to provision your iOS device. This guide explores using automated provisioning to asking evolution certificates and profiles.

Requirements

Automated provisioning is available on Visual Studio for Mac, Visual Studio 2019, and Visual Studio 2017 (Version 15.7 and higher).

Notation

You lot must besides have a paid Apple Programmer account to use this feature. More data on Apple developer accounts is available in the Device Provisioning guide. If you practice non have a paid Apple tree developer account, see the Free Provisioning for Xamarin.iOS guide.

Enable automatic provisioning

Before starting the automatic signing process, you should ensure that you lot accept an Apple tree ID added in Visual Studio, every bit described in the Apple Account Management guide.

Once you've added an Apple ID, yous can utilise any associated Team. This allows certificates, profiles, and other IDs to be fabricated against the team. The team ID is likewise used to create a prefix for an App ID that will be included in the provisioning contour. Having this allows Apple to verify that y'all are who you say you are.

To automatically sign your app for deployment on an iOS device, do the following:

  • Visual Studio for Mac
  • Visual Studio
  1. Open an iOS projection in Visual Studio for Mac.

  2. Open the Info.plist file.

  3. Select the Application tab.

  4. In the Signing section, select Automatic Provisioning:

    Team selector dropdown

  5. Select your team from the Team dropdown.

  6. After a few seconds a Signing Document and Provisioning profile will be created:

    successfully created certificate and profile

    If the automatic signing fails the Automatic signing pad volition brandish the reason for the fault.

Run automatic provisioning

When automated provisioning is enabled, Visual Studio volition re-run the process if necessary when whatever of the following things happen:

  • An iOS device is plugged into your Mac
    • This automatically checks to run across if the device is registered on the Apple Developer Portal. If information technology isn't, it will add it and generate a new provisioning profile that contains it.
  • The Bundle ID of your app is changed
    • This updates the app ID. A new provisioning profile containing this app ID is created.
  • A supported adequacy is enabled in the Entitlements.plist file.
    • This capability will be added to the app ID and a new provisioning profile with the updated app ID is generated.
    • Not all capabilities are currently supported. For more data on the ones that are supported, check out the Working with Capabilities guide.

Wildcard App IDs

In Visual Studio for Mac and Visual Studio 2019 (version 16.v or greater), automatic provisioning will by default endeavour to create and employ a wildcard App ID and provisioning profile instead of an explicit App ID based on the Package Identifier specified in Info.plist. Wildcard App IDs reduce the number of profiles and IDs to maintain in the Apple tree Developer Portal.

In some cases, an app's entitlements require an explicit App ID. The following entitlements exercise not support wildcard App IDs:

  • App Groups
  • Associated Domains
  • Apple Pay
  • Game Centre
  • HealthKit
  • HomeKit
  • Hotspot
  • In-App purchase
  • Multipath
  • NFC
  • Personal VPN
  • Button Notifications
  • Wireless Accessory Configuration

If your app uses one of these entitlements, Visual Studio will attempt to create an explicit (instead of a wildcard) App ID.

Troubleshoot

  • Information technology may have several hours for a new Apple tree developer account to be approved. Yous volition non be able to enable automatic provisioning until the business relationship has been approved.
  • If the automated provisioning procedure fails with the error message Authentication Service Is Unavailable, sign in to either App Store Connect or appleid.apple.com to bank check that you take accepted the latest service agreements.
  • If you become the error bulletin Authentication Error: Xcode 7.3 or later is required to go on developing with your Apple tree ID., make sure that the squad selected has an active paid membership to the Apple tree Programmer Program. To use a paid Apple developer account, please see the Free provisioning for Xamarin.iOS apps guide.
  • Free Provisioning
  • App Distribution
  • Troubleshooting
  • Apple - App Distribution Guide