From f6372ed7830365cda91938c699afa5a35e453593 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Fri, 15 May 2026 19:58:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0iOS=20=E7=BC=96=E8=AF=91?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ios/Podfile | 39 +++++++++++++++++++ lib/data/models/appconfig.dart | 2 +- .../chat_api/ios/chat_api/Package.swift | 7 +++- 3 files changed, 45 insertions(+), 3 deletions(-) diff --git a/ios/Podfile b/ios/Podfile index ce17794db..41d32f019 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -40,6 +40,45 @@ target 'Runner' do end post_install do |installer| + # ---- Auto patch: bump FlutterGeneratedPluginSwiftPackage iOS platform ---- + # Flutter 生成的中介包总是写死 .iOS("12.0"),与 Podfile 中的 + # platform :ios, '16.0' 不一致,会报 + # "requires minimum platform version 15.0/16.0 ... but this target supports 12.0"。 + # 这里自动同步为 16.0。 + generated_pkg = File.expand_path( + 'Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage/Package.swift', __dir__) + if File.exist?(generated_pkg) + content = File.read(generated_pkg) + new_content = content.gsub(/\.iOS\("\d+\.\d+"\)/, '.iOS("16.0")') + if new_content != content + File.write(generated_pkg, new_content) + puts '[Podfile patch] Bumped FlutterGeneratedPluginSwiftPackage iOS platform to 16.0' + end + end + + # ---- Auto patch: comment out illegal `` imports in all Pods sources ---- + # 新版 Xcode 模块校验禁止跨模块引用私有头 `` + # `` 已包含全部 IPv6 定义,注释掉即可。 + pods_dir = File.expand_path('Pods', __dir__) + if Dir.exist?(pods_dir) + patched_files = [] + Dir.glob(File.join(pods_dir, '**', '*.{m,mm,h,hpp,c,cpp}')).each do |file| + content = File.read(file) + new_content = content.gsub( + /^[ \t]*#\s*(?:import|include)\s*.*$/, + '// \0 // patched: private header, covered by ' + ) + if new_content != content + File.write(file, new_content) + patched_files << file.sub(pods_dir + '/', '') + end + end + unless patched_files.empty? + puts "[Podfile patch] Commented out imports in #{patched_files.size} file(s):" + patched_files.each { |f| puts " - #{f}" } + end + end + installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) diff --git a/lib/data/models/appconfig.dart b/lib/data/models/appconfig.dart index 8ce31d29f..d24941c85 100644 --- a/lib/data/models/appconfig.dart +++ b/lib/data/models/appconfig.dart @@ -7,7 +7,7 @@ class AppConfig { // true => 首页/发现页切换为精简布局,新手引导跳过 AI 引导步骤 // false => 保持原有布局 // TODO: 后续接入 BLE PID 判断逻辑,B017 设备连接时自动置 true - static bool hideAiAssistant = false; + static bool hideAiAssistant = true; static late UserGetAppConfigResp config; diff --git a/local_plugins/chat_api/ios/chat_api/Package.swift b/local_plugins/chat_api/ios/chat_api/Package.swift index 3fe0ccdb5..282943946 100644 --- a/local_plugins/chat_api/ios/chat_api/Package.swift +++ b/local_plugins/chat_api/ios/chat_api/Package.swift @@ -14,7 +14,10 @@ let package = Package( ], dependencies: [ .package(url: "https://github.com/MacPaw/OpenAI.git", exact: "0.4.3"), - .package(url: "https://github.com/modelcontextprotocol/swift-sdk.git", from: "0.9.0"), + // 改用本地副本:上游 swift-sdk 0.9.0 的 Package.swift 声明 swift-tools-version:6.0 + // 会在 Xcode 16 上把 sending 警告升级为错误;且上游 0.10+ 已修改 Tool.Content + // 的 case 签名,会导致 MCPClient.swift tuple 解构编译失败。本地副本锁定为 0.9.0 + 5.10。 + .package(path: "../../../swift_sdk_local"), .package(path: "../../../location_service/ios/location_service"), .package(path: "../../../music_service/ios/music_service"), .package(path: "../../../qq_music/ios/qq_music"), @@ -25,7 +28,7 @@ let package = Package( .target( name: "chat_api", dependencies: [ - .product(name: "MCP", package: "swift-sdk"), + .product(name: "MCP", package: "swift_sdk_local"), .product(name: "OpenAI", package: "OpenAI"), .product(name: "music-service", package: "music_service"), .product(name: "qq-music", package: "qq_music"),