mirror of
https://github.com/xweiba/location-spoofer.git
synced 2026-09-21 22:30:46 +08:00
- 坐标转换: detectType 用地理边界判断瓦片类型,加载路径去掉重复 toStored - 图钉: 放 MKMapView 内部 + keyboard 通知双保险,针尖对齐地理中心 - 缩放控件: 转 UIKit 子视图放地图内,键盘弹起一起移动 - 网络监控: WiFi SSID 轮询 + 重连检测,虚拟定位激活时自动验证 - UI: 去飞行模式弹窗和面板,引导页只在首次安装和设置入口触发 - 实时定位: 蓝点数据优先,不限时缓存
35 lines
995 B
Swift
35 lines
995 B
Swift
import SwiftUI
|
|
|
|
struct ContentView: View {
|
|
@StateObject private var setup = SetupCoordinator()
|
|
@ObservedObject private var net = NetworkMonitor.shared
|
|
@State private var showSetup = false
|
|
@AppStorage("setupCompleted") private var setupCompleted = false
|
|
|
|
var body: some View {
|
|
NavigationView {
|
|
MapHomeView(setup: setup)
|
|
}
|
|
.task {
|
|
if !setupCompleted {
|
|
showSetup = true
|
|
return
|
|
}
|
|
await setup.refreshTrust()
|
|
}
|
|
.onChange(of: net.isAirplaneMode) { airplane in
|
|
guard setupCompleted else { return }
|
|
if !airplane {
|
|
Task { await setup.refreshTrust() }
|
|
}
|
|
}
|
|
.fullScreenCover(isPresented: $showSetup) {
|
|
FirstSetupView(setup: setup, onComplete: {
|
|
setupCompleted = true
|
|
setup.completeSetup()
|
|
showSetup = false
|
|
})
|
|
}
|
|
}
|
|
}
|