升级url_launcher^6.3.1后执行flutter build ipa出现UIApplication不兼容Launcher协议错误
url_launcher升级至^6.3.1后iOS编译错误处理方法
将url_launcher库升级至^6.3.1版本后,执行flutter build ipa命令时触发如下Swift编译错误:
Swift Compiler Error (Xcode): Type 'UIApplication' does not conform to protocol 'Launcher' /Users/XXXX/.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.0/ios/url_launcher_ios/Sources/url_launcher_ios/Launcher.swift:21:0
以下是本地环境的flutter doctor输出(已翻译为中文):
[✓] Flutter(稳定通道,3.24.1,运行于 macOS 14.6.1 23G93 darwin-arm64,区域设置 en-US) • Flutter 版本 3.24.1,位于稳定通道,路径为 /Users/mahdipishguy/Desktop/home/develop/flutter • 上游仓库 https://github.com/flutter/flutter.git • Framework 版本修订号 5874a72aa4(3个月前),提交时间 2024-08-20 16:46:00 -0500 • Engine 版本修订号 c9b9d5780d • Dart 版本 3.5.1 • DevTools 版本 2.37.2 [✓] Android 工具链 - 开发 Android 设备(Android SDK 版本 34.0.0) • Android SDK 位于 /Volumes/Mac/develop/sdk • 平台 android-34,构建工具 34.0.0 • ANDROID_HOME = "/Volumes/Mac/develop/sdk" • Java 二进制文件路径:/Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java • Java 版本:OpenJDK Runtime Environment(版本 "17.0.7+0-17.0.7b1000.6-10550314") • 所有 Android 许可证已接受。 [✓] Xcode - 开发 iOS 和 macOS 应用(Xcode 16.1) • Xcode 位于 /Applications/Xcode.app/Contents/Developer • 构建版本 16B40 • CocoaPods 版本 1.13.0 [✓] Chrome - 开发 Web 应用 • Chrome 位于 /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [✓] Android Studio(版本 2023.1) • Android Studio 位于 /Applications/Android Studio.app/Contents • Flutter 插件可从以下地址安装: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart 插件可从以下地址安装: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java 版本:OpenJDK Runtime Environment(版本 "17.0.7+0-17.0.7b1000.6-10550314") [✓] 已连接设备(3 台可用) • macOS(桌面) • macos • darwin-arm64 • macOS 14.6.1 23G93 darwin-arm64 • Mac Designed for iPad(桌面) • mac-designed-for-ipad • darwin • macOS 14.6.1 23G93 darwin-arm64 • Chrome(Web) • chrome • web-javascript • Google Chrome 130.0.6723.117 [✓] 网络资源 • 所有预期的网络资源均可用。 • 未发现任何问题!
解决步骤
- 执行
flutter clean清理项目缓存 - 删除项目根目录下的
pubspec.lock文件,再运行flutter pub get重新拉取依赖 - 若仍报错,检查
pubspec.yaml中url_launcher的版本,尝试降级至^6.2.5版本,该版本兼容当前Flutter稳定版与Xcode 16.1 - 还可以尝试更新CocoaPods:执行
pod repo update后重新执行构建命令
内容的提问来源于stack exchange,提问作者DolDurma
相关产品推荐
相关产品推荐

