chore: adopt source-available license and strengthen privacy disclosures

Replace MIT with a restrictive source-available license and align README/docs copy. Add cloud polish acknowledgment, privacy manifest updates, voice history disclosure, export compliance metadata, and support links for App Store readiness.
This commit is contained in:
Rocky
2026-06-21 16:45:29 +08:00
parent 993784d223
commit 5e5122f172
21 changed files with 429 additions and 64 deletions
+3 -26
View File
@@ -1,10 +1,9 @@
// HostAppLauncher.swift
// OSGKeyboard · Keyboard Extension
//
// Opens the host app via URL using every extension-safe strategy:
// Opens the host app via URL using extension-safe strategies:
// 1. `extensionContext.open` (official)
// 2. Responder-chain `UIApplication.open` (TypeWhisper pattern)
// 3. `sharedApplication` KVC fallback (common in full-access keyboards)
import UIKit
@@ -22,23 +21,12 @@ enum HostAppLauncher {
completion(true)
return
}
completion(openViaFallback(url, from: controller))
completion(openViaResponderChain(url, from: controller))
}
}
return
}
completion(openViaFallback(url, from: controller))
}
@MainActor
private static func openViaFallback(
_ url: URL,
from controller: KeyboardViewController
) -> Bool {
if openViaResponderChain(url, from: controller) {
return true
}
return openViaSharedApplication(url)
completion(openViaResponderChain(url, from: controller))
}
@MainActor
@@ -56,15 +44,4 @@ enum HostAppLauncher {
}
return false
}
@MainActor
private static func openViaSharedApplication(_ url: URL) -> Bool {
guard
let application = UIApplication.value(forKeyPath: "sharedApplication") as? UIApplication
else {
return false
}
application.open(url, options: [:]) { _ in }
return true
}
}