LaunchConditions

Struct LaunchConditions 

Source
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§

Source§

impl Clone for LaunchConditions

Source§

fn clone(&self) -> LaunchConditions

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for LaunchConditions

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for LaunchConditions

Source§

fn default() -> LaunchConditions

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

impl<'de> Deserialize<'de> for LaunchConditions

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for LaunchConditions

Source§

fn eq(&self, other: &LaunchConditions) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for LaunchConditions

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for LaunchConditions

Source§

impl StructuralPartialEq for LaunchConditions

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

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

fn clone_into(&self, target: &mut T)

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

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,