// // AppDelegate.swift // VenusKitto // // Created by Neoa on 2025/8/21. // import UIKit import AnyThinkSDK import AppTrackingTransparency import AdSupport @main class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) { self.requestTrackingPermission() } self.initAnythinkSDK() return true } // MARK: UISceneSession Lifecycle func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { // Called when a new scene session is being created. // Use this method to select a configuration to create the new scene with. return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) } func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) { // Called when the user discards a scene session. // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. // Use this method to release any resources that were specific to the discarded scenes, as they will not return. } func initAnythinkSDK() { ATAPI.setLogEnabled(false) ATAPI.integrationChecking() // 初始化 AnyThink do { let ok: () = try ATAPI.sharedInstance().start(withAppID: kTakuAppID, appKey: kTakuAppKey) print("AnyThink SDK start success: \(ok)") } catch { print("AnyThink SDK start failed:", error) } } func requestTrackingPermission() { if #available(iOS 14, *) { ATTrackingManager.requestTrackingAuthorization { status in switch status { case .authorized: print("Authorized to track.") // Access IDFA (if needed) case .denied: print("Denied tracking permission.") case .notDetermined: print("Tracking permission not determined.") case .restricted: print("Tracking permission restricted.") @unknown default: print("Unknown tracking status.") } } } else { // Handle older iOS versions if necessary print("App Tracking Transparency not available on this iOS version.") } } }