diff --git a/Fableon.xcodeproj/project.pbxproj b/Fableon.xcodeproj/project.pbxproj index a8babdc..ce9c43d 100644 --- a/Fableon.xcodeproj/project.pbxproj +++ b/Fableon.xcodeproj/project.pbxproj @@ -2734,7 +2734,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Fableon/Fableon.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 3; + CURRENT_PROJECT_VERSION = 4; DEVELOPMENT_TEAM = 6XALB8RSYF; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; GENERATE_INFOPLIST_FILE = YES; @@ -2777,7 +2777,7 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Fableon/Fableon.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 3; + CURRENT_PROJECT_VERSION = 4; DEVELOPMENT_TEAM = 6XALB8RSYF; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = Fableon/Source/Info.plist; diff --git a/Fableon/App/SceneDelegate.swift b/Fableon/App/SceneDelegate.swift index 70886c2..7e05b42 100644 --- a/Fableon/App/SceneDelegate.swift +++ b/Fableon/App/SceneDelegate.swift @@ -25,6 +25,7 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { FATool.windowScene = windowScene window = UIWindow(windowScene: windowScene) + window?.makeKeyAndVisible() startApp() onLineTimer = Timer.scheduledTimer(timeInterval: 60 * 10, target: YYTextWeakProxy(target: self), selector: #selector(handleOnLine), userInfo: nil, repeats: true) @@ -45,6 +46,7 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { } func sceneDidBecomeActive(_ scene: UIScene) { + FATool.requestIDFAAuthorization(nil) self.handleOnLine() FAStatAPI.requestEnterApp() self.setBadgeCount(0) @@ -74,13 +76,12 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { extension SceneDelegate { private func startApp() { - setRootVC() let languageManager = FALanguageManager.manager if languageManager.languageDataLanguageKey != languageManager.currentLanguageKey { let vc = FATool.getLanuchViewController() window?.rootViewController = vc - window?.makeKeyAndVisible() +// window?.makeKeyAndVisible() languageManager.updateLanguageData { [weak self] finish in guard let self = self else { return } @@ -105,7 +106,7 @@ extension SceneDelegate { self.retryHandleOpenAppMessage() } window?.rootViewController = vc - window?.makeKeyAndVisible() +// window?.makeKeyAndVisible() } else { self.setTabBarController() self.retryHandleOpenAppMessage() @@ -116,7 +117,7 @@ extension SceneDelegate { FAAdjustStateManager.manager.isOpenApp = true window?.rootViewController = FATabBarController() - window?.makeKeyAndVisible() +// window?.makeKeyAndVisible() } } @@ -131,7 +132,6 @@ extension SceneDelegate { if FANetworkMonitor.manager.isReachable == true { handleOnLine() -// FATool.requestIDFAAuthorization(nil) self.retryHandleOpenAppMessage() FAIapManager.manager.preloadingProducts() @@ -139,6 +139,7 @@ extension SceneDelegate { if localizedData.isEmpty { self.startApp() } +// FATool.requestIDFAAuthorization(nil) } } diff --git a/Fableon/Object/Base/Controller/FATabBarController.swift b/Fableon/Object/Base/Controller/FATabBarController.swift index 99eeec2..bdddcfe 100644 --- a/Fableon/Object/Base/Controller/FATabBarController.swift +++ b/Fableon/Object/Base/Controller/FATabBarController.swift @@ -48,7 +48,6 @@ class FATabBarController: UITabBarController { } } FATool.checkUpdates() - FATool.requestIDFAAuthorization(nil) } override var childForStatusBarStyle: UIViewController? { diff --git a/Fableon/Object/Libs/FATool/FATool.swift b/Fableon/Object/Libs/FATool/FATool.swift index 14413c5..f768bee 100644 --- a/Fableon/Object/Libs/FATool/FATool.swift +++ b/Fableon/Object/Libs/FATool/FATool.swift @@ -68,7 +68,7 @@ class FATool { } extension FATool { - + static var isNeedIdfaAuthorization = true static func requestIDFAAuthorization(_ completion: ((String?) -> Void)? = nil) { if FAAdjustStateManager.manager.idfaAuthorizationFinish { completion?(ASIdentifierManager.shared().advertisingIdentifier.uuidString) @@ -77,8 +77,12 @@ extension FATool { guard FANetworkMonitor.manager.isReachable == true, FAAdjustStateManager.manager.apnsAuthorizationFinish else { return } + guard isNeedIdfaAuthorization else { + return + } + isNeedIdfaAuthorization = false - DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { + DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { ATTrackingManager.requestTrackingAuthorization { status in FAAdjustStateManager.manager.idfaAuthorizationFinish = true let idfa = ASIdentifierManager.shared().advertisingIdentifier.uuidString