重现步骤
- flutter create flutter_20240424 --platforms ios
- 在pubspec.yml中添加以下内容(可能需要CocoaPods的任何包都会这样做)
cloud_firestore: any
firebase_auth: any
firebase_messaging: any
firebase_storage: any
app_links: any
firebase_analytics: any
flutter_barcode_scanner: any
- flutter pub get
- cd ios
- pod install
实际结果
您将看到:
[!] CocoaPods did not set the base configuration of your project because your project already has a custom config set. In order for CocoaPods integration to work at all, please either set the base configurations of the target `Runner` to `Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig` or include the `Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig` in your build configuration (`Flutter/Release.xcconfig`).
问题是Runner Profile配置设置为Release配置。将其设置为Pods-Runner.profile可以解决错误,但我不知道它应该是什么。
这是我修改过的(似乎正确的)配置:
这些基本配置给Flutter开发带来了很多麻烦,我还没有在网上看到任何官方建议或文档。在我的主项目中,我已经遇到了 #140845 / #138795 让我困扰了好几天。较旧的文章建议直接选择Pods-Runner.xxx,这意味着不包括Generated,这会导致 #138795 "Null check operator"错误(Debug和Release只有两行代码——它们包括Pods-Runner.xxx和Generated,而Generated包含xcode_backend.dart所需的环境变量)。
添加需要CocoaPods的包会使情况变得更加混乱,因为列表中有更多的配置。
我认为一些官方文档,包括带有和不带有CocoaPods的XCode中基本配置的屏幕截图,将会非常有帮助。即使生成的项目已经修复,它仍然会对现有项目的人有所帮助。
日志
日志
<!-- Paste your logs here -->
Flutter Doctor输出
Doctor输出
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, 3.22.0-0.2.pre, on macOS 14.4.1 23E224 darwin-x64, locale en-AU)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 15.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.2)
[✓] Android Studio (version 2022.2)
[✓] IntelliJ IDEA Ultimate Edition (version 2024.1)
[✓] VS Code (version 1.87.2)
[✓] Connected device (2 available)
[✓] Network resources
• No issues found!
4条答案
按热度按时间xqnpmsa81#
感谢报告@buzzware
你能看一下this问题和底层评论吗,看看它们是否对你有帮助?
vi4fp9gy2#
感谢报告@buzzware,你能查看this问题及其底层评论,看看它们是否对你的情况有所帮助吗?
@darshankawar 我在项目中没有问题——我正在报告我的学习过程,我认为在生成一个全新的项目并添加需要CocoaPods的包时会出现bug。作为解决方案的一部分,我建议提供一些文档,解释通过xcode_backend将XCode与Flutter集成的方法以及推荐的配置。
这个参考资料已经有3年的历史了,并且没有涵盖CocoaPods。
gcmastyq3#
感谢您的更新。我确实看到了这条消息,但它是一个警告/提示,而不是一个错误,而且它是来自Cocoapods,而不是Flutter。
我相信一些官方文档,包括XCode中基本配置的截图(带和不带CocoaPods),将会非常有帮助。
如果团队认为这对文档有益,我会保持这个问题开放。
jv4diomz4#
是的,这是一个警告,但警告内容为:“为了使CocoaPods集成正常工作...”。
此外,在升级旧项目或尝试修复构建错误时,了解每个配置的意图有助于知道应该选择哪个。