mirror of
https://github.com/xweiba/location-spoofer.git
synced 2026-09-22 06:40:44 +08:00
- iOS 虚拟定位工具,基于本地 HTTP 代理 MITM 方案 - MapKit 原生地图体验,支持搜索、收藏、实时定位 - 完整的设置引导流程(证书安装、WiFi 代理配置、环境验证) - 支持 iOS 15+,SwiftUI 构建
46 lines
1.4 KiB
Swift
46 lines
1.4 KiB
Swift
import Foundation
|
|
|
|
enum AppGroup {
|
|
static let identifier = "group.com.paopaolabs.location-spoofer"
|
|
static let defaults = UserDefaults(suiteName: identifier) ?? .standard
|
|
|
|
static var sharedContainerURL: URL? {
|
|
FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: identifier)
|
|
}
|
|
|
|
static var isSharedContainerAvailable: Bool { sharedContainerURL != nil }
|
|
|
|
static var containerURL: URL {
|
|
if let url = sharedContainerURL { return url }
|
|
return FileManager.default.urls(for: .applicationSupportDirectory, in: .userDomainMask)[0]
|
|
.appendingPathComponent("LocationSpoofer", isDirectory: true)
|
|
}
|
|
}
|
|
|
|
enum WlocKeys {
|
|
static let coords = "wloc_settings"
|
|
}
|
|
|
|
struct WlocSettings: Codable {
|
|
var longitude: Double
|
|
var latitude: Double
|
|
var accuracy: Int
|
|
var enabled: Bool
|
|
}
|
|
|
|
enum WlocSettingsStore {
|
|
static func load() -> WlocSettings? {
|
|
guard let data = AppGroup.defaults.data(forKey: WlocKeys.coords) else { return nil }
|
|
return try? JSONDecoder().decode(WlocSettings.self, from: data)
|
|
}
|
|
|
|
static func save(_ settings: WlocSettings) {
|
|
guard let data = try? JSONEncoder().encode(settings) else { return }
|
|
AppGroup.defaults.set(data, forKey: WlocKeys.coords)
|
|
}
|
|
|
|
static func clear() {
|
|
save(WlocSettings(longitude: 0, latitude: 0, accuracy: 25, enabled: false))
|
|
}
|
|
}
|