Struct apple_bundle::info_plist::protected_resources::Security
source · [−]pub struct Security {
pub user_tracking_usage_description: Option<String>,
pub apple_events_usage_description: Option<String>,
pub system_administration_usage_description: Option<String>,
pub app_uses_non_exempt_encryption: Option<bool>,
pub encryption_export_compliance_code: Option<String>,
}
Expand description
Security
Fields
user_tracking_usage_description: Option<String>
A message that informs the user why an app is requesting permission to use data for tracking the user or the device.
If your app calls the App Tracking Transparency API, you must provide custom text, known as a usage-description string, which displays as a system-permission alert request. The usage-description string tells the user why the app is requesting permission to use data for tracking the user or the device. The user has the option to grant or deny the authorization request. If you don’t include a usage-description string, your app may crash when a user first launches it.
Make sure your app requests permission to track sometime before tracking occurs. This could be at first launch or when using certain features in your app. For example, when signing on with a third-party SSO.
Set the NSUserTrackingUsageDescription key in the Information Property List (Info.plist):
-
Select your project’s Info.plist file in Xcode Project navigator.
-
Modify the file using the Xcode Property List Editor: Privacy - Tracking Usage Description.
-
Use sentence-style capitalization and appropriate ending punctuation. Keep the text short and specific. You don’t need to include your app name because the system already identifies your app.
-
If the title is a sentence fragment, don’t add ending punctuation.
See Apple’s Human Interface Guidelines for example usage descriptions.
Availability
- iOS 14.0+
- tvOS 14.0+
Framework
- Security
apple_events_usage_description: Option<String>
A message that tells the user why the app is requesting the ability to send Apple events.
An app using Apple events to control another app might be able to gain access to sensitive user data. For example, the Mail app stores a lot of personal information in its local database that other apps can’t access directly. But because Mail can be automated with Apple events, other apps can use Mail to gain access to the data indirectly.
Important
This key is required if your app uses APIs that send Apple events.
Availability
- macOS 10.14+
Framework
- Security
system_administration_usage_description: Option<String>
A message in macOS that tells the user why the app is requesting to manipulate the system configuration.
Use this key if your app uses certain APIs that manipulate system configuration, like ODRecordSetValue(::::).
Important
This key is required if your app uses APIs that manipulate the system configuration.
Availability
- macOS 10.14+
Framework
- Security
app_uses_non_exempt_encryption: Option<bool>
A Boolean value indicating whether the app uses encryption.
Set the value for this key to NO in your app’s Information Property List file to indicate that your app—including any third-party libraries you link against—either uses no encryption, or only uses encryption that’s exempt from export compliance requirements, as described in Determine your export compliance requirements. Set the value to YES to indicate that your app uses non-exempt encryption.
If you set the value to YES, you typically also provide a value for the ITSEncryptionExportComplianceCode key. You set that key’s value using a code Apple provides after successfully reviewing your export compliance documentation.
If you don’t have the ITSAppUsesNonExemptEncryption key in your app’s Info.plist file, App Store Connect walks you through an export compliance questionnaire every time you upload a new version of your app. Including the key streamlines the app submission process.
For additional information, see Complying with Encryption Export Regulations.
Availability
- macOS 10.0+
Framework
- Security
encryption_export_compliance_code: Option<String>
The export compliance code provided by App Store Connect for apps that require it.
Include this key in your app’s Information Property List file if you set the ITSAppUsesNonExemptEncryption key’s value to YES. Set the value for this key to the code that Apple sends you after successfully reviewing export compliance documentation that you provide through App Store Connect.
For additional information, see Complying with Encryption Export Regulations.
Availability
- macOS 10.0+
Framework
- Security
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Security
impl<'de> Deserialize<'de> for Security
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Security
impl StructuralEq for Security
impl StructuralPartialEq for Security
Auto Trait Implementations
impl RefUnwindSafe for Security
impl Send for Security
impl Sync for Security
impl Unpin for Security
impl UnwindSafe for Security
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.