[AltStore] Adds redesigned AppViewController to view/download AltStore apps

This commit is contained in:
Riley Testut
2019-07-24 12:23:54 -07:00
parent 711dd69b74
commit fc44dfb19c
37 changed files with 1583 additions and 399 deletions

View File

@@ -39,6 +39,11 @@ class App: NSManagedObject, Decodable, Fetchable
/* Relationships */
@NSManaged private(set) var installedApp: InstalledApp?
@objc(permissions) @NSManaged var _permissions: NSOrderedSet
@nonobjc var permissions: [AppPermission] {
return self._permissions.array as! [AppPermission]
}
private override init(entity: NSEntityDescription, insertInto context: NSManagedObjectContext?)
{
@@ -59,6 +64,7 @@ class App: NSManagedObject, Decodable, Fetchable
case downloadURL
case tintColor
case subtitle
case permissions
}
required init(from decoder: Decoder) throws
@@ -93,7 +99,12 @@ class App: NSManagedObject, Decodable, Fetchable
self.tintColor = tintColor
}
let permissions = try container.decodeIfPresent([AppPermission].self, forKey: .permissions) ?? []
context.insert(self)
// Must assign after we're inserted into context.
self._permissions = NSOrderedSet(array: permissions)
}
}