mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-09 06:43:25 +01:00
[AltStoreCore] Makes AppPermission.usageDescription non-optional for backwards compatibility
Necessary to support switching between AltStore beta and public version. Wraps private non-optional _usageDescription value in public accessor with optional return type to still treat it as “optional” value.
This commit is contained in:
@@ -30,7 +30,7 @@
|
||||
<attribute name="appBundleID" optional="YES" attributeType="String"/>
|
||||
<attribute name="permission" attributeType="String"/>
|
||||
<attribute name="type" attributeType="String"/>
|
||||
<attribute name="usageDescription" optional="YES" attributeType="String"/>
|
||||
<attribute name="usageDescription" attributeType="String"/>
|
||||
<relationship name="app" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="StoreApp" inverseName="permissions" inverseEntity="StoreApp"/>
|
||||
<uniquenessConstraints>
|
||||
<uniquenessConstraint>
|
||||
|
||||
@@ -77,7 +77,14 @@ public class AppPermission: NSManagedObject, Decodable, Fetchable
|
||||
{
|
||||
/* Properties */
|
||||
@NSManaged public var type: ALTAppPermissionType
|
||||
@NSManaged public var usageDescription: String?
|
||||
|
||||
// usageDescription must be non-optional for backwards compatibility,
|
||||
// so we store non-optional value and provide public accessor with optional return type.
|
||||
@nonobjc public var usageDescription: String? {
|
||||
get { _usageDescription.isEmpty ? nil : _usageDescription }
|
||||
set { _usageDescription = newValue ?? "" }
|
||||
}
|
||||
@NSManaged @objc(usageDescription) private var _usageDescription: String
|
||||
|
||||
@nonobjc public var permission: any ALTAppPermission {
|
||||
switch self.type
|
||||
|
||||
Reference in New Issue
Block a user