From d009ccc708f896f29756d9adcf74dd308ad430d3 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Wed, 30 Jul 2025 16:41:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0iOS=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ios/Runner.xcodeproj/project.pbxproj | 31 +++++++++++-------- ios/Runner/Info.plist | 23 ++++++-------- ios/Runner/Runner.entitlements | 24 +++++++++++--- .../splash/controllers/splash_controller.dart | 8 +++++ pubspec.yaml | 1 + 5 files changed, 57 insertions(+), 30 deletions(-) diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 99b602480..186d0e7a0 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 60; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -514,7 +514,7 @@ NEW_SETTING = ""; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = 1; VALIDATE_PRODUCT = YES; }; name = Profile; @@ -539,10 +539,11 @@ MARKETING_VERSION = 1.0.1; PRODUCT_BUNDLE_IDENTIFIER = com.saitong.voitrans; PRODUCT_NAME = "$(TARGET_NAME)"; + REGISTER_APP_GROUPS = NO; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; - SUPPORTS_MACCATALYST = NO; - SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; - SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_MACCATALYST = YES; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = YES; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 1; @@ -577,6 +578,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = K39FB49XKY; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 18.0; MARKETING_VERSION = 1.0; @@ -594,6 +596,7 @@ BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = K39FB49XKY; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 18.0; MARKETING_VERSION = 1.0; @@ -659,7 +662,7 @@ NEW_SETTING = ""; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = 1; }; name = Debug; }; @@ -714,7 +717,7 @@ SUPPORTED_PLATFORMS = iphoneos; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = 1; VALIDATE_PRODUCT = YES; }; name = Release; @@ -739,10 +742,11 @@ MARKETING_VERSION = 1.0.1; PRODUCT_BUNDLE_IDENTIFIER = com.saitong.voitrans; PRODUCT_NAME = "$(TARGET_NAME)"; + REGISTER_APP_GROUPS = NO; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; - SUPPORTS_MACCATALYST = NO; - SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; - SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_MACCATALYST = YES; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = YES; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -771,10 +775,11 @@ MARKETING_VERSION = 1.0.1; PRODUCT_BUNDLE_IDENTIFIER = com.saitong.voitrans; PRODUCT_NAME = "$(TARGET_NAME)"; + REGISTER_APP_GROUPS = NO; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; - SUPPORTS_MACCATALYST = NO; - SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; - SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO; + SUPPORTS_MACCATALYST = YES; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = YES; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 1; diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 3e7a2de00..2652d9c7e 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -57,12 +57,6 @@ FacebookClientToken 193d0a2b1757c41cfa557ea8e8f21c33 - - SKAdNetworkItems - - - NSAdvertisingAttributionReportEndpoint - LSApplicationQueriesSchemes weixin @@ -86,6 +80,8 @@ LSRequiresIPhoneOS + NSAdvertisingAttributionReportEndpoint + NSAppTransportSecurity NSAllowsArbitraryLoads @@ -93,6 +89,8 @@ NSAllowsArbitraryLoadsInWebContent + NSUserTrackingUsageDescription + This identifier will be used to deliver personalized ads to you. NSBluetoothAlwaysUsageDescription Bluetooth permission is required to connect and manage audio devices NSBluetoothPeripheralUsageDescription @@ -111,6 +109,8 @@ We need access to your motion data to provide more accurate navigation services NSPhotoLibraryUsageDescription Photo library permission is required to save recording files and import audio files + SKAdNetworkItems + UIApplicationSupportsIndirectInputEvents UIBackgroundModes @@ -119,22 +119,19 @@ audio location + UIDeviceFamily + + 1 + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile Main UISupportedInterfaceOrientations - UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight UIViewControllerBasedStatusBarAppearance diff --git a/ios/Runner/Runner.entitlements b/ios/Runner/Runner.entitlements index ed86a9636..f05d7901a 100644 --- a/ios/Runner/Runner.entitlements +++ b/ios/Runner/Runner.entitlements @@ -2,6 +2,10 @@ + com.apple.developer.applesignin + + Default + com.apple.developer.associated-domains applinks:voitrans.net @@ -10,9 +14,21 @@ com.apple.external-accessory.wireless-configuration - com.apple.developer.applesignin - - Default - + com.apple.security.app-sandbox + + com.apple.security.device.audio-input + + com.apple.security.device.bluetooth + + com.apple.security.device.camera + + com.apple.security.network.client + + com.apple.security.personal-information.calendars + + com.apple.security.personal-information.location + + com.apple.security.personal-information.photos-library + diff --git a/lib/modules/splash/controllers/splash_controller.dart b/lib/modules/splash/controllers/splash_controller.dart index b12b22746..ba834cdc1 100644 --- a/lib/modules/splash/controllers/splash_controller.dart +++ b/lib/modules/splash/controllers/splash_controller.dart @@ -1,5 +1,7 @@ import 'dart:async'; import 'dart:io'; +import 'package:app_tracking_transparency/app_tracking_transparency.dart'; + import '../../../data/models/appconfig.dart'; import '../../../data/models/appconfig_model.dart'; import 'package:flutter/material.dart'; @@ -47,6 +49,12 @@ class SplashController extends GetxController { _startNormalFlow(); } }); + + //弹出用户追中问题 + WidgetsFlutterBinding.ensureInitialized().addPostFrameCallback((_) async { + final status = + await AppTrackingTransparency.requestTrackingAuthorization(); + }); } void _startNormalFlow() { diff --git a/pubspec.yaml b/pubspec.yaml index 64a6f01ac..df950b8a5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -69,6 +69,7 @@ dependencies: flutter_image_compress: ^2.4.0 common_utils: ^2.1.0 image_gallery_saver_plus: ^4.0.1 + app_tracking_transparency: ^2.0.1 dio: ^5.8.0+1 sqflite: ^2.4.2 path: ^1.9.1