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}