fix: changed App Group name to fit the requirements. It fixes widgets in macOS 15 but could break macOS 14. Since in the macOS 14 it was not working properly with the team ID prefix (#2115)

This commit is contained in:
Serhiy Mytrovtsiy
2024-09-28 19:58:42 +02:00
parent 109bc416b9
commit 97e00dcc82
11 changed files with 18 additions and 12 deletions

View File

@@ -80,7 +80,7 @@ open class Module {
get { Store.shared.int(key: "\(self.name)_position", defaultValue: 0) }
set { Store.shared.set(key: "\(self.name)_position", value: newValue) }
}
public var userDefaults: UserDefaults? = UserDefaults(suiteName: "eu.exelban.Stats.widgets")
public var userDefaults: UserDefaults? = UserDefaults(suiteName: "\(Bundle.main.object(forInfoDictionaryKey: "TeamId") as! String).eu.exelban.Stats.widgets")
private var settingsView: Settings_v? = nil
private var popup: PopupWindow? = nil

View File

@@ -20,5 +20,7 @@
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2020 Serhiy Mytrovtsiy. All rights reserved.</string>
<key>TeamId</key>
<string>RP2S87B72W</string>
</dict>
</plist>

View File

@@ -28,7 +28,7 @@ public struct CPU_entry: TimelineEntry {
public struct Provider: TimelineProvider {
public typealias Entry = CPU_entry
private let userDefaults: UserDefaults? = UserDefaults(suiteName: "eu.exelban.Stats.widgets")
private let userDefaults: UserDefaults? = UserDefaults(suiteName: "\(Bundle.main.object(forInfoDictionaryKey: "TeamId") as! String).eu.exelban.Stats.widgets")
public func placeholder(in context: Context) -> CPU_entry {
CPU_entry()

View File

@@ -28,7 +28,7 @@ public struct Disk_entry: TimelineEntry {
public struct Provider: TimelineProvider {
public typealias Entry = Disk_entry
private let userDefaults: UserDefaults? = UserDefaults(suiteName: "eu.exelban.Stats.widgets")
private let userDefaults: UserDefaults? = UserDefaults(suiteName: "\(Bundle.main.object(forInfoDictionaryKey: "TeamId") as! String).eu.exelban.Stats.widgets")
public func placeholder(in context: Context) -> Disk_entry {
Disk_entry()

View File

@@ -28,7 +28,7 @@ public struct GPU_entry: TimelineEntry {
public struct Provider: TimelineProvider {
public typealias Entry = GPU_entry
private let userDefaults: UserDefaults? = UserDefaults(suiteName: "eu.exelban.Stats.widgets")
private let userDefaults: UserDefaults? = UserDefaults(suiteName: "\(Bundle.main.object(forInfoDictionaryKey: "TeamId") as! String).eu.exelban.Stats.widgets")
public func placeholder(in context: Context) -> GPU_entry {
GPU_entry()

View File

@@ -28,7 +28,7 @@ public struct Network_entry: TimelineEntry {
public struct Provider: TimelineProvider {
public typealias Entry = Network_entry
private let userDefaults: UserDefaults? = UserDefaults(suiteName: "eu.exelban.Stats.widgets")
private let userDefaults: UserDefaults? = UserDefaults(suiteName: "\(Bundle.main.object(forInfoDictionaryKey: "TeamId") as! String).eu.exelban.Stats.widgets")
public func placeholder(in context: Context) -> Network_entry {
Network_entry()

View File

@@ -43,7 +43,7 @@ public struct RAM_entry: TimelineEntry {
public struct Provider: TimelineProvider {
public typealias Entry = RAM_entry
private let userDefaults: UserDefaults? = UserDefaults(suiteName: "eu.exelban.Stats.widgets")
private let userDefaults: UserDefaults? = UserDefaults(suiteName: "\(Bundle.main.object(forInfoDictionaryKey: "TeamId") as! String).eu.exelban.Stats.widgets")
public func placeholder(in context: Context) -> RAM_entry {
RAM_entry()

View File

@@ -42,7 +42,9 @@
<key>SMPrivilegedExecutables</key>
<dict>
<key>eu.exelban.Stats.SMC.Helper</key>
<string>anchor apple generic and identifier "eu.exelban.Stats.SMC.Helper" and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = RP2S87B72W)</string>
<string>anchor apple generic and identifier &quot;eu.exelban.Stats.SMC.Helper&quot; and (certificate leaf[field.1.2.840.113635.100.6.1.9] /* exists */ or certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = RP2S87B72W)</string>
</dict>
<key>TeamId</key>
<string>RP2S87B72W</string>
</dict>
</plist>

View File

@@ -2,11 +2,11 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.application-groups</key>
<array>
<string>eu.exelban.Stats.widgets</string>
</array>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.application-groups</key>
<array>
<string>$(TeamIdentifierPrefix)eu.exelban.Stats.widgets</string>
</array>
</dict>
</plist>

View File

@@ -21,5 +21,7 @@
</dict>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2024 Serhiy Mytrovtsiy. All rights reserved.</string>
<key>TeamId</key>
<string>RP2S87B72W</string>
</dict>
</plist>

View File

@@ -6,7 +6,7 @@
<true/>
<key>com.apple.security.application-groups</key>
<array>
<string>eu.exelban.Stats.widgets</string>
<string>$(TeamIdentifierPrefix)eu.exelban.Stats.widgets</string>
</array>
</dict>
</plist>