pub struct LaunchConditions {
    pub required_device_capabilities: Option<Vec<DeviceCapabilities>>,
    pub multiple_instances_prohibited: Option<bool>,
    pub architecture_priority: Option<ArchitecturePriority>,
    pub requires_native_execution: Option<bool>,
    pub runs_independently_of_companion_app: Option<bool>,
    pub watch_only: Option<bool>,
    pub auto_launch_audio_opt_out: Option<bool>,
    pub complication_supported_families: Option<Vec<ComplicationSupportedFamilies>>,
}
Expand description

Launch Conditions

Fields

required_device_capabilities: Option<Vec<DeviceCapabilities>>

The device-related features that your app requires to run.

The App Store prevents customers from installing an app on a device that doesn’t support the required capabilities for that app. Use this key to declare the capabilities your app requires. For a list of the features that different devices support, see Required Device Capabilities.

You typically use an array for the key’s associated value. The presence in that array of any of the above possible values indicates that the app requires the corresponding feature. Omit a value to indicate that the app doesn’t require the feature, but it can be present.

Alternatively, you can use a dictionary as the associated value for the UIRequiredDeviceCapabilities key. In that case, use the values above as the dictionary’s keys, each with an associated Boolean value. Set the value to true to require the corresponding feature. Set the value to false to indicate that the feature must not be present on the device. Omit the feature from the dictionary to indicate that your app neither requires nor disallows it.

Specify only the features that your app absolutely requires. If your app can accommodate missing features by avoiding the code paths that use those features, don’t include the corresponding key.

Availability

  • iOS 3.0+
  • tvOS 9.0+
  • watchOS 2.0+

Framework

  • UIKit
multiple_instances_prohibited: Option<bool>

A Boolean value indicating whether more than one user can launch the app simultaneously.

Availability

  • macOS 10.0+

Framework

  • Core Services
architecture_priority: Option<ArchitecturePriority>

An array of the architectures that the app supports, arranged according to their preferred usage.

Use this key to prioritize the execution of a specific architecture in a universal binary. This key contains an array of strings, with each string specifying the name of a supported architecture. The order of the strings in the array represents your preference for executing the app. For example, if you specify the x86_64 architecture first for a universal app, the system runs that app under Rosetta translation on Apple silicon. For more information about Rosetta translation, see About the Rosetta Translation Environment.

Availability

  • macOS 10.1+

Framework

  • Core Services
requires_native_execution: Option<bool>

A Boolean value that indicates whether to require the execution of the app’s native architecture when multiple architectures are available.

When an app supports multiple architectures, the presence of this key causes the system to choose the native architecture over ones that require translation. For example, this key prevents the system from using the Rosetta translation process to execute the Intel portion of a universal app on Apple silicon.

Availability

  • macOS 10.0+

Framework

  • Core Services
runs_independently_of_companion_app: Option<bool>

A Boolean value indicating whether the user can install and run the watchOS app independently of its iOS companion app.

Xcode automatically includes this key in the WatchKit extension’s information property list and sets its value to true when you create a project using the iOS App with Watch App template. When you set the value of this key to true, the app doesn’t need its iOS companion app to operate properly. Users can choose to install the iOS app, the watchOS app, or both.

Availability

  • watchOS 6.0+

Framework

  • WatchKit
watch_only: Option<bool>

A Boolean value indicating whether the app is a watch-only app.

Xcode automatically includes this key in the WatchKit extension’s information property list and sets its value to true when you create a project using the Watch App template. When you set the value of this key to true, the app is only available on Apple Watch, with no related iOS app.

Availability

  • watchOS 6.0+

Framework

  • WatchKit
auto_launch_audio_opt_out: Option<bool>

A Boolean value that indicates whether a watchOS app should opt out of automatically launching when its companion iOS app starts playing audio content.

If your watchOS app does not act as a remote control for the iOS app, set this key to true in your WatchKit extension’s information property list.

Availability

  • watchOS 5.0+

Framework

  • WatchKit
complication_supported_families: Option<Vec<ComplicationSupportedFamilies>>
👎 Deprecated since watchOS 2.0-7.0:

In watchOS 7 and later, use getComplicationDescriptors(handler:) to define the supported complication families.

The complication families that the app can provide data for.

To add this key to the information property list, enable the desired families in the WatchKit extension’s Complication Configuration settings.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Deserialize this value from the given Serde deserializer. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Compare self to key and return true if they are equal.

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.