Class Permissions

    • Constructor Summary

      Constructors 
      Constructor Description
      Permissions()  
      Permissions​(java.lang.String json)  
      Permissions​(java.util.Map<java.lang.String,​java.lang.Object> permissions)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>> getAppPermissions​(java.lang.String bundleId)
      Get permissions mapping for the given app bundle identifier.
      Permissions withAppPermissions​(java.lang.String bundleId, java.util.Map<java.lang.String,​java.lang.String> mapping)
      Since Xcode SDK 11.4 Apple provides native APIs to interact with application settings.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • Permissions

        public Permissions()
      • Permissions

        public Permissions​(java.util.Map<java.lang.String,​java.lang.Object> permissions)
      • Permissions

        public Permissions​(java.lang.String json)
    • Method Detail

      • withAppPermissions

        public Permissions withAppPermissions​(java.lang.String bundleId,
                                              java.util.Map<java.lang.String,​java.lang.String> mapping)
        Since Xcode SDK 11.4 Apple provides native APIs to interact with application settings. Check the output of `xcrun simctl privacy booted` command to get the list of available permission names. Use yes, no and unset as values in order to grant, revoke or reset the corresponding permission. Below Xcode SDK 11.4 it is required that applesimutils package is installed and available in PATH. The list of available service names and statuses can be found at https://github.com/wix/AppleSimulatorUtils. For example: {"com.apple.mobilecal": {"calendar": "YES"}}
        Parameters:
        bundleId - The app identifier to change permissions for.
        mapping - Permissions mapping, where keys are perm names and vales are YES/NO.
        Returns:
        self instance for chaining.
      • getAppPermissions

        public java.util.Optional<java.util.Map<java.lang.String,​java.lang.String>> getAppPermissions​(java.lang.String bundleId)
        Get permissions mapping for the given app bundle identifier.
        Parameters:
        bundleId - App bundle identifier.
        Returns:
        Permissions mapping.