123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #if UNITY_EDITOR || UNITY_IOS || UNITY_TVOS || PACKAGE_DOCS_GENERATION
- using System;
- using UnityEngine.InputSystem.iOS;
-
- namespace UnityEngine.InputSystem.iOS
- {
- /// <summary>
- /// Governs access to a privacy-related resource on the user's device. Corresponds to a key in the application's
- /// Information Property List (Info.plist).
- /// </summary>
- /// <seealso href="https://developer.apple.com/documentation/bundleresources/information_property_list/protected_resources"/>
- [Serializable]
- public class PrivacyDataUsage
- {
- /// <summary>
- /// Whether access to the respective resource will be requested.
- /// </summary>
- /// <remarks>
- /// Before accessing a resource or a sensor, you need to explicitly enable the usage for it, otherwise the access for the resource will be denied.
- ///
- /// If this is set to true, the respective protected resource key will be entered in the application's Information Property List (Info.plist)
- /// using <see cref="usageDescription"/>.
- /// </remarks>
- public bool enabled
- {
- get => m_Enabled;
- set => m_Enabled = value;
- }
-
- /// <summary>
- /// Provide meaningful usage description.
- /// </summary>
- /// <remarks>
- /// The description will be presented to the user in the dialog when you'll try to access a related resource or sensor.
- /// </remarks>
- public string usageDescription
- {
- get => m_Description;
- set => m_Description = value;
- }
-
- [SerializeField] private bool m_Enabled;
- [SerializeField] private string m_Description;
- }
- }
-
- namespace UnityEngine.InputSystem
- {
- public partial class InputSettings
- {
- /// <summary>
- /// Project-wide input settings for the iOS/tvOS platform.
- /// </summary>
- [Serializable]
- public class iOSSettings
- {
- /// <summary>
- /// Setting for access to the device's motion sensors (such as <see cref="StepCounter"/>).
- /// </summary>
- /// <remarks>
- /// Alternatively, you can manually add <c>Privacy - Motion Usage Description</c> to the Info.plist file.
- /// </remarks>
- /// <seealso cref="StepCounter"/>
- /// <seealso href="https://developer.apple.com/documentation/bundleresources/information_property_list/nsmotionusagedescription"/>
- public PrivacyDataUsage motionUsage
- {
- get => m_MotionUsage;
- set => m_MotionUsage = value;
- }
-
- [SerializeField] private PrivacyDataUsage m_MotionUsage = new PrivacyDataUsage();
- }
-
- /// <summary>
- /// iOS/tvOS-specific settings.
- /// </summary>
- /// <remarks>
- /// This is only accessible in the editor or in iOS/tvOS players.
- /// </remarks>
- public iOSSettings iOS => m_iOSSettings;
-
- [SerializeField]
- private iOSSettings m_iOSSettings = new iOSSettings();
- }
- }
-
- #endif
|