Provisioning Page

From RAD Studio
Jump to: navigation, search

Go Up to Environment Options

Go Up to Project Options Dialog Box

Contents

Tools > Options > Environment Options > Provisioning
Project > Options > Provisioning

Use this dialog box to specify your signing data for a Mac OS X, iOS Device, Android, or Windows application.

You need to sign your applications in the following cases:

  • If you want to submit your Mac OS X application to the Mac App Store, Apple requires a valid signing data for sandboxing your applications; you do not need a signing data otherwise.
  • You do need a valid signing data for iOS regardless of the selected platform configuration.
  • To create signed Android applications that you can install on Android devices where USB debugging is disabled or upload to an application store, you need a keystore file.
  • If you want to submit your Windows application to the Windows Store.

Before you can specify your signing data for Mac OS X or iOS applications, you need to obtain the developer and distribution certificates from Apple:

Requirements for Multi-Device Applications

Provision Profile

For iOS applications targeting iOS Device (either the Development, Ad hoc or Application Store platform configuration), you need an iOSTeam Provisioning Profile.

To select a specific Provisioning Profile:

  1. Go to Tools > Options > Environment Options > Provisioning.
  2. Select one of the options from the Provision Profile drop-down menu.

Note: Provision Profile corresponds to the iOS Provisioning Profile files installed on OS X.

When the provisioning information provided is correct, a Selected Entities panel shows information about the Provisioning Profile and the Certificate:

When the information provided is not correct, a Warning Message appears with further information.

<Auto> Option

If you use the <Auto> option, RAD Studio automatically selects the first provisioning profile that matches the value of the CFBundleIdentifier field in Project > Options > Version Info.

CFBundleIdentifier defines an App ID of your application. An App ID is an identifier that contains both a Team ID and a bundle ID search string. The default value of CFBundleIdentifier is the name of your project.

If there is no provisioning profile with an App ID that matches the value of the CFBundleIdentifier field, RAD Studio shows the following warning message:

Unable to match bundle identifier "CFBundleIdentifier" with AppID "Team ID.Bundle ID" in the selected provisioning profile

Developer Certificate

To select a developer or distribution certificate name, first select a valid provisioning profile.

When Provision Profile is set to <Auto>, the Developer Certificate appears greyed.

To find the valid developer certificates, open Keychain Access on the Mac, and double-click My Certificates.

For Mac OS X, you supply the complete certificate names in the certificate fields:

  • 3rd Party Mac Developer Certificate. Use the Mac application distribution certificate to sign a Mac application before submitting it to the Mac App Store. For example: 3rd Party Mac Developer Application: <Team Name>
  • 3rd Party Mac Installer Certificate. Use the Mac installer distribution certificate to sign and submit a Mac Installer Package to the Mac App Store. The Installer Package contains your signed application. For example: 3rd Party Mac Developer Installer: <Team Name>


Note:On OS X, you might have two certificates with the same name from the same development team. In this case, you cannot unambiguously define which one of those certificates RAD Studio should use, so you must use the complete string as displayed in the Keychain Access. For more information, see The Specified Certificate Name Is Ambiguous.

Selected Entities

The Selected Entities panel on Provisioning shows information about the Provisioning Profile manually or automatically selected.

Go to Tools > Options > Environment Options > Provisioning to see the App ID for the Provisioning Profile, it can be an explicit App ID to match only one application or a wildcard App ID to match a set of apps. A wildcard App ID contains an asterisk as the last part of its bundle ID search string.

To provide a bundle ID for your application, go to Project > Options > Version Info and edit CFBundleIdentifier. Go to Project > Options > Provisioning to see your App ID.

  • Provision Profile:
    • Name: The name of the iOSTeam Provisioning Profile.
    • File Path: The complete path to your provisioning profile file in the Mac. The path must look like /Users/<your user>/Library/MobileDevice/Provisioning Profiles/<filename>.mobileprovision.
    • Application Identifier: An App ID is a two-part string used to identify one or more apps from a single development team. The string consists of a Team ID and a bundle ID search string, with a period (.) separating the two parts. The Team ID is supplied by Apple and is unique to a specific development team, while the bundle ID search string is supplied by you to match either the bundle ID of a single app or a set of bundle IDs for a group of your apps.
    • Developer Program Name: The name of the Developer Account.
  • Developer Certificate:
    • iPhone Distribution: The iPhone Developer.

Finding Provisioning Profiles Installed on a Device

In Xcode, to find the Provisioning Profile files installed on a specific device:

  1. Open Xcode on the Mac.
  2. Go to Window > Devices.
  3. On the left-hand sidebar, select the target device.
  4. Right-click in the target device and select Show Provisioning Profiles.
    • The Devices window shows the provisioning profiles installed on the device.

Entitlements

For a sandboxed Mac OS X application, you need to set the specific entitlements (access privileges).

Open the Entitlement List page by selecting Project > Options > Entitlement List.

Tools Options

This options are available for all RAD Studio projects, by selecting Tools > Options > Environment Options > Provisioning.

See Provisioning Options.

Project Options

These options are available for the current project, by selecting Project > Options > Provisioning.

Options Description

Target, Apply, Save

See Target Options.

Provisioning

See Provisioning Options.

The provisioning options in the Project Options page are used for the project even thought you have set provisioning options in the Tools Options page.

Note: If any of the Provisioning Options is <Use enviroment options(Auto) in the Project Options page, RAD Studio uses the corresponding option set in the Tools Options provisioning page.

Provisioning Options

Item Description

Build Type

A build type is a combination of target platform and platform configuration. Select a build type on this combo box to define the signing data for that build type. The rest of the fields in the Provisioning page change depending on the selected build type.

For Mac OS X applications, the build type should be OS X - Application Store.

For iOS applications, choose one of the following build types:

For Android applications, the build type should be Android - Application Store.

For Windows applications, the build type should be 32-bit Windows - Application Store or 64-bit Windows - Application Store.

Note: In the following iOS Device sections, the titles contain the string nn bit.nn bit that corresponds to 32 bit or 64 bit iOS Device architecture.

For iOS Device, you can select the following options:

Item Description

Provision Profile

The name of the Provisioning Profile installed in your target device. From the drop-down menu, you can select either:

  • Auto: RAD Studio select a suitable provisioning profile.
  • A specific provisioning profile that is installed in the target device.

Developer Certificate

The name of the Developer Certificate installed in your Mac. From the drop-down menu, you can select either:

  • Auto: RAD Studio select a suitable developer certificate name.
  • A specific developer certificate name. This option appears available only if Provisioning Profile is different from <Auto>.
Note: The Messages View shows the Provision Profile and the Developer Certificate that RAD Studio uses to code sign iOS applications.

When the Provision Profile matches with the Developer Certificate, the CFBundleIdentifier, and the target device, the following information is shown:

When the informatio provided is correct, the Provision Profile and Developer Certificate information is displayed on the Selected Entities panel.

OS X - Application Store

Item Description

3rd Party Mac Developer Certificate

Enter the name of your 3rd Party Mac Developer Application certificate. This certificate is required for the IDE to code sign your application and for acceptance in the Mac App Store. For more information, see Developer Certificate.

3rd Party Mac Installer Certificate

Enter the name of your 3rd Party Mac Developer Installer certificate. This certificate represents you as a third party installer, and is required for the IDE to build your Mac OS X application and for acceptance in the Mac App Store. For more information, see Developer Certificate.

Note: The Mac AppLoader requires an installer certificate regardless of whether your project contains an installer or not.

iOS Device - nn bit - Development

Item Description

Provision Profile

Select an installed Provisioning Profile in your target device or leave it as as Auto.

Developer Certificate

Select a valid iOS developer certificate or leave it as Auto. For information, see Developer Certificate.

iOS Device - nn bit - Ad hoc

Item Description

Provision Profile

Select an installed Provisioning Profile in your target device or leave it as as Auto.

Developer Certificate

Select a valid iOS distribution certificate or leave it as Auto. For information, see Developer Certificate.

iOS Device - 64-bit - Application Store

Note: App Store only accepts application archive files that support 64-bit iOS devices. If you want to support 32-bit iOS devices as well, you must build a single application archive file that supports both 32-bit and 64-bit iOS devices. See Deploying Your iOS Application for Submission to the App Store, Supporting 32-bit iOS Devices.
Item Description

Provision Profile

Select an installed Provisioning Profile in your target device or leave it as as Auto.

Developer Certificate

Select a valid iOS distribution certificate or leave it as Auto. For more information, see Developer Certificate.

Android - Application Store

Item Description

File

The path to the keystore file that contains your signing certificates.

Password

The password of the keystore file.

New Keystore

Opens the Create a new Keystore/Alias wizard to create a new keystore file.

Change Password

Opens a dialog to change the password of your keystore file.

Get Certificates

Retrieves the list of certificates from your keystore file, and populates the Alias in Keystore combo box with that list.

Alias in Keystore

The alias of the certificate from your keystore file to sign.

Alias password

The password of the selected certificate.

Creation date

The date when the selected certificate was created.

Valid since

The date when the selected certificate started being valid, and the date when the certificate expires.

Add Alias

Opens the Create a new Keystore/Alias wizard to add a new certificate to your keystore file.

Change Password

Opens a dialog to change the password of the selected certificate.

Delete Alias

Removes the selected certificate from your keystore file.

Alias Info

Opens a dialog with detailed information about the selected certificate.

Reset All

Empties the keystore (File, Password) and certificate (Alias in Keystore, Alias password) fields.

32-bit Windows or 64-bit Windows - Ad hoc

Item Description

Certificate File

The path to the certificate file.

Password

The password of the certificate file.

Create self-signed certificate

Creates the self-signed certificate. For more details, see Creating a Certificate File.

32-bit Windows or 64-bit Windows - Store

Item Description

Package Name

The value that you receive when Submitting Your App to the Windows Store.

Package Display Name

The name that you reserve in the Dev Center.

Publisher

The value that you receive when Submitting Your App to the Windows Store.

Publisher Display Name

The value that you receive when Submitting Your App to the Windows Store.

Recovering Provisioning Profile Files on XCode

RAD Studio searches for the provisioning profile files in ~/Library/MobileDevice/Provisioning Profile/ directory where XCode saves them by default.

Follow these steps if an expected provisioning profile is not listed in the Provisioning page:

  1. Launch XCode.
  2. Go to XCode > Preferences....
  3. Go to the Acounts tab and select the Apple ID from which you want to recover the provisioning profile.
  4. Click View Details...
  5. To restore the missing provisioning profile files, click the refresh button icon on the bottom left corner.
  6. Click Done.

Warning Messages

No connection profile found

This message informs that you need to create an OS X Connection Profile.

Go to Tools > Options > Environment Options > Connection Profile Manager in order to add a new profile. For more information see Creating and Testing a Connection Profile on the Development PC.

Connection to '<ip_address>' on port <port_number> failed

This message informs you that a connection to a PAServer cannot be established using the <ip_address> and <port_number> of the selected profile from the Connection Profile Manager.

In order to solve the problem:

  1. Check that the PAServer is running on the OS X on the <ip_address>.
  2. If the PAServer is running, check that the <port_number> on which the PAServer is running corresponds to the <port_number> defined on the profile from the Connection Profile Manager.
Note: To check if the connection to the PAServer works, you can just click Test Connection on the Connection Profile Manager.

No provisioning profile found for the selected build configuration

This message informs you that there is no available provisioning profile for the selected build configuration.

To solve the problem you need to download the provisioning profile for the selected build configuration.

For more information about the Apple Developer Program and how to obtain a provisioning profile, see Joining the Apple Developer Program and iOS Mobile Application Development.

No provisioning profile found for the selected build configuration and the selected device "<device_name>"

This message informs you that there is no available provisioning profile for the selected build configuration.

To solve the problem you need to download the provisioning profile for the selected build configuration.

For more information about the Apple Developer Program and how to obtain a provisioning profile, see Joining the Apple Developer Program and iOS Mobile Application Development.

No certificate found in the selected provisioning profile

There is no certificate available for this provisioning profile. The certificate can be missing, invalid, or expired.

To solve the problem:

  • Download the certificate for the selected provisioning profile.
  • If after downloading the certificate the problem persists, open Keychain Access on OS X and remove all duplicate certificates that are either invalid or have expired.

For more information, see iOS Mobile Application Development.

No certificates found for the selected build configuration

There is no certificate available for all the provisioning profiles on the selected build configuration. The certificate can be missing, invalid, or expired.

To solve the problem:

  • Download the certificate for the selected provisioning profile.
  • If after downloading the certificate the problem persists, open Keychain Access on OS X and remove all duplicate certificates that are either invalid, or have expired.

For more information, see iOS Mobile Application Development and Provisioning an OS X Application.

Unable to match bundle identifier "CFBundleIdentifier" with AppID "Team ID.Bundle ID" in the selected provisioning profile

This message appears when the bundle identifier value (CFBundleIdentifier) provided in Project > Options > Version Info does not match the bundle ID Search String of the provisioning profile.

An App ID consists of a Team ID and a Bundle ID Search String, for example, 66YRC9P3G2.com.domain.*

  • Team ID: Identifier generated by Apple. Unique to a specific development team. For example, 66YRC9P3G2.
  • Bundle ID Search String: A string value supplied by you to match either the bundle ID of a single app or a set of bundle IDs for a group of your apps. For example, com.domain.* (it matches a group of apps) or com.domain.<name> (it matches a single app).

Warning Messages on Messages View

The Messages window shows different warning messages related to the provisioning profile when compiling applications.

[Error] Unable to establish a connection to the remote profile

See No connection profile found.

See Connection to '<ip_address>' on port <port_number> failed.

[Error] No provisioning profile found for the selected build configuration

See No provisioning profile found for the selected build configuration.

See No provisioning profile found for the selected build configuration and the selected device "<device_name>"

[Error] No certificate found in provisioning profile <provisioning-profile-name>

See No certificates found for the selected build configuration.

[Error] Unable to find certificate <certificate-name> in provisioning profile <provisioning-profile-name>

See No certificate found in the selected provisioning profile.

[Error] Unable to match bundle identifier <bundle-id-name> with AppID <AppID-name> in provisioning profile <provisioning-profile-name>

See Unable to match bundle identifier "CFBundleIdentifier" with AppID "Team ID.Bundle ID" in the selected provisioning profile.

[Error] Unable to match bundle identifier <bundle-id-name> with AppID in all provisioning profiles

See Unable to match bundle identifier "CFBundleIdentifier" with AppID "Team ID.Bundle ID" in the selected provisioning profile.

[Error] <certificate name>: no identity found

See No certificates found for the selected build configuration.

Using provisioning profile <provisioning-profile-name> with certificate <certificate-name>

The information provided is correct.

See Also