在 pubspec.yaml 中添加 Google Maps 包后,Flutter iOS 应用程序将无法构建
Posted
技术标签:
【中文标题】在 pubspec.yaml 中添加 Google Maps 包后,Flutter iOS 应用程序将无法构建【英文标题】:Flutter iOS app won't build after adding Google Maps package in pubspec.yaml 【发布时间】:2020-12-04 15:15:12 【问题描述】:在 pubspec.yaml 中添加 Google 地图包后,无法构建 Flutter ios 应用 删除谷歌地图包后应用程序构建良好 (https://pub.dev/packages/google_maps_flutter) 请帮忙!!
错误日志:
在 iPhone 8 Plus 上以调试模式启动 lib/main.dart...
运行 pod install... 7.2s 正在运行 Xcode 构建...
└─编译、链接和签名... 4.0s Xcode 构建完成。 49.6s 无法构建 iOS 应用 Xcode 构建的错误输出: ↳ 2020-08-14 10:36:17.831 xcodebuild[5254:93706] 警告:文件参考 “Objective-C/TOCropViewController/Models/TOActivityCroppedImageProvider.h”是多个成员 组(“TOCropViewController”和“TOCropViewController”);这表明项目格式不正确。仅有的 其中一个组的成员资格将被保留(但目标中的成员资格将不受影响)。 如果您想在多个组中引用同一文件,请添加另一个引用到 相同的路径。 2020-08-14 10:36:17.831 xcodebuild[5254:93706] 警告:文件参考 “Objective-C/TOCropViewController/Views/TOCropOverlayView.h”是多个组的成员 (“TOCropViewController”和“TOCropViewController”);这表明项目格式不正确。只有 其中一个组的成员资格将被保留(但目标中的成员资格将不受影响)。如果 您想在多个组中引用同一文件,请添加另一个相同的引用 小路。 2020-08-14 10:36:17.831 xcodebuild[5254:93706] 警告:文件参考 “Objective-C/TOCropViewController/Models/TOCroppedImageAttributes.h”是多个组的成员 (“TOCropViewController”和“TOCropViewController”);这表明项目格式不正确。只有 其中一个组的成员资格将被保留(但目标中的成员资格将不受影响)。如果 您想在多个组中引用同一文件,请添加另一个相同的引用 小路。 2020-08-14 10:36:17.831 xcodebuild[5254:93706] 警告:文件参考 “Objective-C/TOCropViewController/Views/TOCropScrollView.h”是多个组的成员 (“TOCropViewController”和“TOCropViewController”);这表明项目格式不正确。只有 其中一个组的成员资格将被保留(但目标中的成员资格将不受影响)。如果 您想在多个组中引用同一文件,请添加另一个相同的引用 小路。 2020-08-14 10:36:17.831 xcodebuild[5254:93706] 警告:文件参考 “Objective-C/TOCropViewController/Views/TOCropToolbar.h”是多个组的成员 (“TOCropViewController”和“TOCropViewController”);这表明项目格式不正确。只有 其中一个组的成员资格将被保留(但目标中的成员资格将不受影响)。如果 您想在多个组中引用同一文件,请添加另一个相同的引用 小路。 2020-08-14 10:36:17.831 xcodebuild[5254:93706] 警告:文件参考 “Objective-C/TOCropViewController/Views/TOCropView.h”是多个组的成员 (“TOCropViewController”和“TOCropViewController”);这表明项目格式不正确。只有 其中一个组的成员资格将被保留(但目标中的成员资格将不受影响)。如果 您想在多个组中引用同一文件,请添加另一个相同的引用 小路。 2020-08-14 10:36:17.831 xcodebuild[5254:93706] 警告:文件参考 “Objective-C/TOCropViewController/TOCropViewController.h”是多个组的成员 (“TOCropViewController”和“TOCropViewController”);这表明项目格式不正确。只有 其中一个组的成员资格将被保留(但目标中的成员资格将不受影响)。如果 您想在多个组中引用同一文件,请添加另一个相同的引用 小路。 2020-08-14 10:36:17.831 xcodebuild[5254:93706] 警告:文件参考 “Objective-C/TOCropViewController/Models/TOCropViewControllerTransitioning.h”是多个的成员 组(“TOCropViewController”和“TOCropViewController”);这表明项目格式不正确。仅有的 其中一个组的成员资格将被保留(但目标中的成员资格将不受影响)。 如果您想在多个组中引用同一文件,请添加另一个引用到 相同的路径。 ** 构建失败 **
Xcode 的输出:
↳
/Users/chrisflection/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_pdfview-1.0.3+2/io
s/Classes/FlutterPDFView.m:25:5: 警告:“FLTPDFViewController”仅适用于 iOS 11.0 或
较新的 [-Wunguarded-availability-new]
FLTPDFViewController* pdfviewController = [[FLTPDFViewController alloc] initWithFrame:frame
^~~~~~~~~~~~~~~~~~~~
在包含的文件中
/Users/chrisflection/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_pdfview-1.0.3+2/io
s/类/FlutterPDFView.m:4:
/Users/chrisflection/Development/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_pdfview-1.0.3+2/io
s/Classes/FlutterPDFView.h:11:12:注意:“FLTPDFViewController”已被标记为在
这里是 iOS 11.0,但部署目标是 iOS 9.0.0
@interface FLTPDFViewController : NSObject
无法为模拟器构建应用程序。 在 iPhone 8 Plus 上启动应用程序时出错。
这是我的 pubspec.yaml:
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.3
image_cropper: ^1.2.3
table_calendar: ^2.2.3
substring_highlight: ^0.1.2
intl: ^0.16.1
shared_preferences: ^0.5.4+5
image_picker: ^0.6.7
mime_type: ^0.3.2
flutter_pdfview: ^1.0.0+10
path_provider: ^1.6.5
pdf_flutter: ^1.1.2
http: ^0.12.0+4
multi_image_picker: ^4.6.9
outline_material_icons: ^0.1.1
fading_edge_scrollview: ^1.1.4
sticky_headers: ^0.1.8+1
flutter_tindercard: ^0.1.9
google_maps_flutter: ^0.5.30
【问题讨论】:
嘿,你有什么解决办法吗? @VickySingh nope...我最终删除了谷歌地图插件 【参考方案1】:我在我的应用中添加了 google_maps_flutter: ^0.5.30,但在 iOS 上运行该应用没有遇到任何问题。我建议运行flutter clean 以清除构建缓存并尝试再次运行该应用程序。如果您仍然遇到问题,请运行 flutter doctor
以检查是否有任何错误或警告。
【讨论】:
以上是关于在 pubspec.yaml 中添加 Google Maps 包后,Flutter iOS 应用程序将无法构建的主要内容,如果未能解决你的问题,请参考以下文章
在 pubspec.yaml 文件中添加 firebase_auth 或 cloud_firestore 时构建失败并出现异常(firebase_core 正在工作):
Flutter 的 pubspec.yaml 版本更改自动提交标记
Flutter pubspec.yaml,音频播放器无法正常工作