// // AMapWrapper.swift // ylgamehall // // 高德定位 SDK 启动注册。iOS 14+ 隐私合规必走 3 步: // updatePrivacyShow → updatePrivacyAgree → apiKey // 少一步定位接口直接拒绝(errorCode 7 KEY 校验失败)。 // // APIKey 沿用 msext APIKey.h:14(与 Bundle ID com.skyapp.ylgamehall 绑死)。 // // ⚠️ canImport(AMapFoundationKit) 守卫:在 Vendor/AMap/*.framework 尚未在 Xcode // 添加到 Target Frameworks 之前,本文件编译为 no-op。 // import Foundation #if canImport(AMapFoundationKit) import AMapFoundationKit #endif #if canImport(AMapLocationKit) import AMapLocationKit #endif @MainActor public enum AMapWrapper { /// 高德 APIKey(沿用 msext APIKey.h:14,绑死 Bundle ID com.skyapp.ylgamehall) public static let apiKey = "b0d4a8e3fcbbcc0dd96283b7df6a4494" /// 启动注册:在 AppDelegate.didFinishLaunchingWithOptions 调用一次。 /// 必须按 iOS 14+ 隐私合规顺序:updatePrivacyShow → updatePrivacyAgree → apiKey /// 注意:updatePrivacyShow / updatePrivacyAgree 是 AMapLocationManager 的类方法 /// (since 2.8.0),不在 AMapServices 上。 public static func bootstrap() { #if canImport(AMapFoundationKit) && canImport(AMapLocationKit) AMapLocationManager.updatePrivacyShow(.didShow, privacyInfo: .didContain) AMapLocationManager.updatePrivacyAgree(.didAgree) AMapServices.shared().apiKey = apiKey #else // SDK 未链接:no-op #endif } }