apple_bundle/entitlements/
authentication.rs

1use serde::{Deserialize, Serialize};
2
3/// Authentication
4#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq, Default)]
5pub struct Authentication {
6    /// A Boolean value that indicates whether the app may, with user permission, provide
7    /// user names and passwords for AutoFill in Safari and other apps.
8    ///
9    /// To add this entitlement to a target, enable the AutoFill Credential Provider
10    /// capability in Xcode. Do this for both your Password AutoFill extension and its
11    /// host app.
12    ///
13    /// ## Availability
14    /// * iOS 12.0+
15    /// * macOS 11.0+
16    ///
17    /// ## Framework
18    /// * Authentication Services
19    #[serde(
20        rename = "com.apple.developer.authentication-services.autofill-credential-provider",
21        serialize_with = "crate::serialize_option",
22        skip_serializing_if = "Option::is_none"
23    )]
24    pub auto_fill_credential_provider: Option<bool>,
25    /// An entitlement that lets your app use Sign in with Apple.
26    ///
27    /// To add this entitlement to your app with the correct associated value, enable the
28    /// Sign in with Apple capability in Xcode.
29    ///
30    /// ## Availability
31    /// * iOS 13.0+
32    /// * macOS 10.15+
33    /// * tvOS 13.0+
34    /// * watchOS 6.0+
35    ///
36    /// ## Framework
37    /// * Authentication Services
38    #[serde(
39        rename = "com.apple.developer.applesignin",
40        skip_serializing_if = "Option::is_none",
41        serialize_with = "crate::serialize_vec_enum_option"
42    )]
43    pub sign_in_with_apple: Option<Vec<SignInWithAppleEntitlement>>,
44}
45
46/// Sign in with Apple Entitlement
47#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
48pub enum SignInWithAppleEntitlement {
49    /// The value used for normal operation.
50    #[serde(rename = "Default")]
51    Default,
52}