【发布时间】:2021-06-27 09:44:48
【问题描述】:
在装有 Big Sur 11.2.2 和 Flutter 1.22.6 的 M1 Mac 上运行的 iOS 模拟器 (iPhone 12 Pro Max) 上的 Flutter iOS 应用程序是否存在问题?
你看,我的 Flutter iOS 应用程序(使用多个 Flutter 插件)是在基于 Intel 的、运行 Catalina (10.15.7) 和 Flutter 1.22.5 的 Mac 上开发的,它可以工作,但是当我转移到基于 M1 的 Mac 上运行时Big Sur 和 Flutter 1.22.6,我遇到了 Cocoapod 的错误:
[!] Automatically assigning platform `iOS` with version `9.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile.
请注意,在这台 M1 mac 上,“flutter doctor”是成功的,我可以创建 Flutter 测试应用并在 iOS 模拟器上运行它,所以我认为它的设置正确。
我也尝试过过去有此症状的帖子建议的解决方案,但无济于事。我尝试了以下方法:
1- 我在我的 pods 文件中取消了“platform :ios, '9.0'' 行的注释。
2- 我在终端中运行了以下 CLI 命令:
flutter clean
rm -Rf ios/Pods
rm -Rf ios/.symlinks
rm -Rf ios/Flutter/Flutter.framework
rm -Rf ios/Flutter/Flutter.podspec
cd ios
pod install
cd ..
flutter build ios
尝试上述两个建议的结果是相同的“运行 pod install 时出错”错误,没有提及其他错误消息。
此时我唯一能想到的是,我在 M1 上的 iOS 模拟器中运行时使用的 Flutter 插件存在问题。同样,这些插件可以在运行 Catalina 的基于 Intel 的 Mac 上运行。如果是这样,不幸的是,错误并没有告诉我是哪一个。我使用的插件有:
dependencies:
flutter:
sdk: flutter
provider: ^4.1.3
sqflite: ^1.3.2+1
googleapis: ^0.56.1
googleapis_auth: ^0.2.12
http: ^0.12.2
url_launcher: ^5.7.2
flutter_secure_storage: ^3.3.5
tuple: ^1.0.3
image_picker: ^0.6.7+12
intl: ^0.16.1
fraction: ^1.2.1
archive: ^2.0.13
path_provider: ^1.6.24
path: ^1.7.0
image_cropper: ^1.3.1
flutter_image_compress: ^0.7.0
非常感谢所有帮助/建议。
【问题讨论】:
-
你试过在物理设备上运行它吗?到目前为止发生的错误是在构建级别,并且仍然没有达到渲染或 M1 问题(如果有的话)。
-
@HuthaifaMuayyad,我还没有尝试在 M1 的物理设备上运行它。我尝试在运行 Catalina 的基于 Intel 的 Mac 上的物理设备(iOS 和 Android)上运行它,它运行良好。一旦我找到我的 iPhone,我会在 M1 上尝试这个。至于 Android 设备,我的 VSCODE 似乎无法识别该设备,这是我必须解决的另一个问题。
-
你是否下载了android SDK,即使你在Mac上,也需要SDK,因为它包含了android调试所需的ADB管理器。我昨天在 bigSur 上遇到了一个问题,但不是 M1,模拟器不支持运行发布版本。您是否从 iOS 文件夹中运行 pod install ?不仅仅是父项目文件夹?尝试 cd 进入 ios 或
ios/runner. -
谢谢,胡塔尔法。我现在正在下载 Android Studio,以便我可以在 Android 设备上运行它,看看是否可行。
-
不客气,请随时更新,我个人对此很感兴趣。此外,如果问题出在依赖项中, pod install 肯定会惹恼你,但似乎你的环境中正在发生的其他事情也没有达到那个水平
标签: ios flutter ios-simulator apple-m1