forked from MeloNX/MeloNX
Add Entitlement Checker and Memory
This commit is contained in:
parent
fd0ce75f67
commit
e741039304
Binary file not shown.
@ -29,29 +29,29 @@ func SecTaskCopyValuesForEntitlements(
|
|||||||
_ error: UnsafeMutablePointer<Unmanaged<CFError>?>?
|
_ error: UnsafeMutablePointer<Unmanaged<CFError>?>?
|
||||||
) -> CFDictionary?
|
) -> CFDictionary?
|
||||||
|
|
||||||
func checkAppEntitlements(_ ents: [String]) -> [String: Any]? {
|
func checkAppEntitlements(_ ents: [String]) -> [String: Any] {
|
||||||
guard let task = SecTaskCreateFromSelf(nil) else {
|
guard let task = SecTaskCreateFromSelf(nil) else {
|
||||||
print("Failed to create SecTask")
|
print("Failed to create SecTask")
|
||||||
return nil
|
return [:]
|
||||||
}
|
}
|
||||||
|
|
||||||
guard let entitlements = SecTaskCopyValuesForEntitlements(task, ents as CFArray, nil) else {
|
guard let entitlements = SecTaskCopyValuesForEntitlements(task, ents as CFArray, nil) else {
|
||||||
print("Failed to get entitlements")
|
print("Failed to get entitlements")
|
||||||
return nil
|
return [:]
|
||||||
}
|
}
|
||||||
|
|
||||||
return entitlements as? [String: Any]
|
return (entitlements as? [String: Any]) ?? [:]
|
||||||
}
|
}
|
||||||
|
|
||||||
func checkAppEntitlement(_ ent: String) -> Bool? {
|
func checkAppEntitlement(_ ent: String) -> Bool {
|
||||||
guard let task = SecTaskCreateFromSelf(nil) else {
|
guard let task = SecTaskCreateFromSelf(nil) else {
|
||||||
print("Failed to create SecTask")
|
print("Failed to create SecTask")
|
||||||
return nil
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
guard let entitlements = SecTaskCopyValueForEntitlement(task, ent as NSString, nil) else {
|
guard let entitlements = SecTaskCopyValueForEntitlement(task, ent as NSString, nil) else {
|
||||||
print("Failed to get entitlements")
|
print("Failed to get entitlements")
|
||||||
return nil
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
return entitlements.boolValue != nil && entitlements.boolValue
|
return entitlements.boolValue != nil && entitlements.boolValue
|
||||||
|
@ -385,7 +385,7 @@ struct SettingsView: View {
|
|||||||
if let cpuInfo = getCPUInfo(), cpuInfo.hasPrefix("Apple M") {
|
if let cpuInfo = getCPUInfo(), cpuInfo.hasPrefix("Apple M") {
|
||||||
if #available (iOS 16.4, *) {
|
if #available (iOS 16.4, *) {
|
||||||
Toggle(isOn: .constant(false)) {
|
Toggle(isOn: .constant(false)) {
|
||||||
labelWithIcon("Hypervisor", iconName: "bolt.fill")
|
labelWithIcon("Hypervisor", iconName: "bolt")
|
||||||
}
|
}
|
||||||
.tint(.blue)
|
.tint(.blue)
|
||||||
.disabled(true)
|
.disabled(true)
|
||||||
@ -394,7 +394,7 @@ struct SettingsView: View {
|
|||||||
}
|
}
|
||||||
} else if getEntitlementValue("com.apple.private.hypervisor") {
|
} else if getEntitlementValue("com.apple.private.hypervisor") {
|
||||||
Toggle(isOn: $config.hypervisor) {
|
Toggle(isOn: $config.hypervisor) {
|
||||||
labelWithIcon("Hypervisor", iconName: "bolt.fill")
|
labelWithIcon("Hypervisor", iconName: "bolt")
|
||||||
}
|
}
|
||||||
.tint(.blue)
|
.tint(.blue)
|
||||||
.onAppear() {
|
.onAppear() {
|
||||||
@ -511,10 +511,26 @@ struct SettingsView: View {
|
|||||||
Text("Enable trace and debug logs for advanced troubleshooting (Note: This degrades performance),\nEnable Screenshot Button for better screenshots\nand Enable TrollStore for automatic TrollStore JIT.")
|
Text("Enable trace and debug logs for advanced troubleshooting (Note: This degrades performance),\nEnable Screenshot Button for better screenshots\nand Enable TrollStore for automatic TrollStore JIT.")
|
||||||
}
|
}
|
||||||
|
|
||||||
// Advanced
|
// Info
|
||||||
Section {
|
Section {
|
||||||
|
let totalMemory = ProcessInfo.processInfo.physicalMemory
|
||||||
|
|
||||||
labelWithIcon("JIT Acquisition: \(isJITEnabled() ? "Acquired" : "Not Acquired" )", iconName: "bolt.fill")
|
labelWithIcon("JIT Acquisition: \(isJITEnabled() ? "Acquired" : "Not Acquired" )", iconName: "bolt.fill")
|
||||||
|
|
||||||
|
labelWithIcon("Increased Memory Limit Entitlement: \(checkAppEntitlement("com.apple.developer.kernel.increased-memory-limit") ? "Enabled" : "Disabled")", iconName: "memorychip")
|
||||||
|
|
||||||
|
labelWithIcon("Device Memory: \(String(format: "%.0f GB", Double(totalMemory) / 1_000_000_000))", iconName: "memorychip.fill")
|
||||||
|
} header: {
|
||||||
|
Text("Information")
|
||||||
|
.font(.title3.weight(.semibold))
|
||||||
|
.textCase(nil)
|
||||||
|
.headerProminence(.increased)
|
||||||
|
} footer: {
|
||||||
|
Text("Shows info about Memory, Entitlement and JIT.")
|
||||||
|
}
|
||||||
|
|
||||||
|
// Advanced
|
||||||
|
Section {
|
||||||
if #unavailable(iOS 17) {
|
if #unavailable(iOS 17) {
|
||||||
Toggle(isOn: $windowCode) {
|
Toggle(isOn: $windowCode) {
|
||||||
labelWithIcon("SDL Window", iconName: "macwindow.on.rectangle")
|
labelWithIcon("SDL Window", iconName: "macwindow.on.rectangle")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user