idfa优化

This commit is contained in:
湖北秦九 2026-01-24 10:13:37 +08:00
parent edd1d7683a
commit 31741283db
4 changed files with 14 additions and 10 deletions

View File

@ -2734,7 +2734,7 @@
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Fableon/Fableon.entitlements; CODE_SIGN_ENTITLEMENTS = Fableon/Fableon.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 3; CURRENT_PROJECT_VERSION = 4;
DEVELOPMENT_TEAM = 6XALB8RSYF; DEVELOPMENT_TEAM = 6XALB8RSYF;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64; "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
@ -2777,7 +2777,7 @@
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Fableon/Fableon.entitlements; CODE_SIGN_ENTITLEMENTS = Fableon/Fableon.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 3; CURRENT_PROJECT_VERSION = 4;
DEVELOPMENT_TEAM = 6XALB8RSYF; DEVELOPMENT_TEAM = 6XALB8RSYF;
GENERATE_INFOPLIST_FILE = YES; GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = Fableon/Source/Info.plist; INFOPLIST_FILE = Fableon/Source/Info.plist;

View File

@ -25,6 +25,7 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
FATool.windowScene = windowScene FATool.windowScene = windowScene
window = UIWindow(windowScene: windowScene) window = UIWindow(windowScene: windowScene)
window?.makeKeyAndVisible()
startApp() startApp()
onLineTimer = Timer.scheduledTimer(timeInterval: 60 * 10, target: YYTextWeakProxy(target: self), selector: #selector(handleOnLine), userInfo: nil, repeats: true) 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) { func sceneDidBecomeActive(_ scene: UIScene) {
FATool.requestIDFAAuthorization(nil)
self.handleOnLine() self.handleOnLine()
FAStatAPI.requestEnterApp() FAStatAPI.requestEnterApp()
self.setBadgeCount(0) self.setBadgeCount(0)
@ -74,13 +76,12 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
extension SceneDelegate { extension SceneDelegate {
private func startApp() { private func startApp() {
setRootVC()
let languageManager = FALanguageManager.manager let languageManager = FALanguageManager.manager
if languageManager.languageDataLanguageKey != languageManager.currentLanguageKey { if languageManager.languageDataLanguageKey != languageManager.currentLanguageKey {
let vc = FATool.getLanuchViewController() let vc = FATool.getLanuchViewController()
window?.rootViewController = vc window?.rootViewController = vc
window?.makeKeyAndVisible() // window?.makeKeyAndVisible()
languageManager.updateLanguageData { [weak self] finish in languageManager.updateLanguageData { [weak self] finish in
guard let self = self else { return } guard let self = self else { return }
@ -105,7 +106,7 @@ extension SceneDelegate {
self.retryHandleOpenAppMessage() self.retryHandleOpenAppMessage()
} }
window?.rootViewController = vc window?.rootViewController = vc
window?.makeKeyAndVisible() // window?.makeKeyAndVisible()
} else { } else {
self.setTabBarController() self.setTabBarController()
self.retryHandleOpenAppMessage() self.retryHandleOpenAppMessage()
@ -116,7 +117,7 @@ extension SceneDelegate {
FAAdjustStateManager.manager.isOpenApp = true FAAdjustStateManager.manager.isOpenApp = true
window?.rootViewController = FATabBarController() window?.rootViewController = FATabBarController()
window?.makeKeyAndVisible() // window?.makeKeyAndVisible()
} }
} }
@ -131,7 +132,6 @@ extension SceneDelegate {
if FANetworkMonitor.manager.isReachable == true { if FANetworkMonitor.manager.isReachable == true {
handleOnLine() handleOnLine()
// FATool.requestIDFAAuthorization(nil)
self.retryHandleOpenAppMessage() self.retryHandleOpenAppMessage()
FAIapManager.manager.preloadingProducts() FAIapManager.manager.preloadingProducts()
@ -139,6 +139,7 @@ extension SceneDelegate {
if localizedData.isEmpty { if localizedData.isEmpty {
self.startApp() self.startApp()
} }
// FATool.requestIDFAAuthorization(nil)
} }
} }

View File

@ -48,7 +48,6 @@ class FATabBarController: UITabBarController {
} }
} }
FATool.checkUpdates() FATool.checkUpdates()
FATool.requestIDFAAuthorization(nil)
} }
override var childForStatusBarStyle: UIViewController? { override var childForStatusBarStyle: UIViewController? {

View File

@ -68,7 +68,7 @@ class FATool {
} }
extension FATool { extension FATool {
static var isNeedIdfaAuthorization = true
static func requestIDFAAuthorization(_ completion: ((String?) -> Void)? = nil) { static func requestIDFAAuthorization(_ completion: ((String?) -> Void)? = nil) {
if FAAdjustStateManager.manager.idfaAuthorizationFinish { if FAAdjustStateManager.manager.idfaAuthorizationFinish {
completion?(ASIdentifierManager.shared().advertisingIdentifier.uuidString) completion?(ASIdentifierManager.shared().advertisingIdentifier.uuidString)
@ -77,8 +77,12 @@ extension FATool {
guard FANetworkMonitor.manager.isReachable == true, FAAdjustStateManager.manager.apnsAuthorizationFinish else { guard FANetworkMonitor.manager.isReachable == true, FAAdjustStateManager.manager.apnsAuthorizationFinish else {
return 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 ATTrackingManager.requestTrackingAuthorization { status in
FAAdjustStateManager.manager.idfaAuthorizationFinish = true FAAdjustStateManager.manager.idfaAuthorizationFinish = true
let idfa = ASIdentifierManager.shared().advertisingIdentifier.uuidString let idfa = ASIdentifierManager.shared().advertisingIdentifier.uuidString