diff --git a/ios/Podfile b/ios/Podfile index ad48460a9..9591f8465 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -41,7 +41,7 @@ end post_install do |installer| installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) - + # Ensure all pods use the same iOS deployment target target.build_configurations.each do |config| config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.0' @@ -56,7 +56,7 @@ post_install do |installer| ## dart: PermissionGroup.calendar 'PERMISSION_EVENTS=1', - + ## dart: PermissionGroup.calendarFullAccess 'PERMISSION_EVENTS_FULL_ACCESS=1', @@ -66,6 +66,24 @@ post_install do |installer| ## dart: PermissionGroup.bluetooth 'PERMISSION_BLUETOOTH=1', ] + + # 禁用用户跟踪相关功能 + config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'FBSDK_DISABLE_IDFA=1' + + # 移除可能的用户跟踪权限描述 + if target.name == 'Runner' + # 确保不包含NSUserTrackingUsageDescription + config.build_settings.delete('NSUserTrackingUsageDescription') + end + end + + # 针对Facebook SDK禁用广告ID收集 + if target.name.start_with?('FBSDKCoreKit') || target.name.start_with?('FacebookSDK') + target.build_configurations.each do |config| + config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)'] + config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'FBSDK_DISABLE_IDFA=1' + config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'FBSDK_DISABLE_AUTO_LOG_APP_EVENTS=1' + end end end end diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index aff31ef06..3d78b7eda 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -57,6 +57,12 @@ FacebookClientToken 193d0a2b1757c41cfa557ea8e8f21c33 + + SKAdNetworkItems + + + NSAdvertisingAttributionReportEndpoint + LSApplicationQueriesSchemes weixin diff --git a/lib/modules/login/controllers/facebookLogin.dart b/lib/modules/login/controllers/facebookLogin.dart index 59e701faf..2ec25147f 100644 --- a/lib/modules/login/controllers/facebookLogin.dart +++ b/lib/modules/login/controllers/facebookLogin.dart @@ -56,7 +56,7 @@ class Facebook { final nonce = sha256ofString(rawNonce); final LoginResult loginResult = await FacebookAuth.instance .login( - loginTracking: LoginTracking.enabled, + loginTracking: LoginTracking.limited, // 改为limited,禁用用户跟踪 nonce: nonce, ) .catchError((onError) {