mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-17 18:53:40 +01:00
[AltServer] Fixes fetching anisette data on macOS 10.14 Mojave
AltXPC does not work on Mojave, so only attempt it on macOS 10.15 Catalina or later.
This commit is contained in:
@@ -53,22 +53,31 @@ class AnisetteDataManager: NSObject
|
|||||||
|
|
||||||
func requestAnisetteData(_ completion: @escaping (Result<ALTAnisetteData, Error>) -> Void)
|
func requestAnisetteData(_ completion: @escaping (Result<ALTAnisetteData, Error>) -> Void)
|
||||||
{
|
{
|
||||||
self.requestAnisetteDataFromXPCService { (result) in
|
if #available(macOS 10.15, *)
|
||||||
do
|
{
|
||||||
{
|
self.requestAnisetteDataFromXPCService { (result) in
|
||||||
let anisetteData = try result.get()
|
do
|
||||||
completion(.success(anisetteData))
|
{
|
||||||
}
|
let anisetteData = try result.get()
|
||||||
catch CocoaError.xpcConnectionInterrupted
|
completion(.success(anisetteData))
|
||||||
{
|
}
|
||||||
// SIP and/or AMFI are not disabled, so fall back to Mail plug-in.
|
catch CocoaError.xpcConnectionInterrupted
|
||||||
self.requestAnisetteDataFromPlugin { (result) in
|
{
|
||||||
completion(result)
|
// SIP and/or AMFI are not disabled, so fall back to Mail plug-in.
|
||||||
|
self.requestAnisetteDataFromPlugin { (result) in
|
||||||
|
completion(result)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
completion(.failure(error))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch
|
}
|
||||||
{
|
else
|
||||||
completion(.failure(error))
|
{
|
||||||
|
self.requestAnisetteDataFromPlugin { (result) in
|
||||||
|
completion(result)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -87,6 +96,7 @@ class AnisetteDataManager: NSObject
|
|||||||
|
|
||||||
private extension AnisetteDataManager
|
private extension AnisetteDataManager
|
||||||
{
|
{
|
||||||
|
@available(macOS 10.15, *)
|
||||||
func requestAnisetteDataFromXPCService(completion: @escaping (Result<ALTAnisetteData, Error>) -> Void)
|
func requestAnisetteDataFromXPCService(completion: @escaping (Result<ALTAnisetteData, Error>) -> Void)
|
||||||
{
|
{
|
||||||
guard let proxy = self.xpcConnection.remoteObjectProxyWithErrorHandler({ (error) in
|
guard let proxy = self.xpcConnection.remoteObjectProxyWithErrorHandler({ (error) in
|
||||||
|
|||||||
Reference in New Issue
Block a user