【问题标题】:Flutter app can't build on iOS 15.0 simulator but working on real iPhone on iOS 13.0Flutter 应用程序无法在 iOS 15.0 模拟器上构建,但可以在 iOS 13.0 上的真实 iPhone 上运行
【发布时间】:2021-12-05 23:51:17
【问题描述】:

我的设置是:

M1 Mac、Xcode 13、Flutter 2.5.3、android studio arctic fox、iOS 13 上的 iPhone。

我可以使用 Xcode 在真 iPhone 上构建 Flutter 应用程序。 当我使用 Xcode 在 iOS 15 模拟器上构建时,错误是“找不到模块'audioplayers'”。

当我使用 android studio 在 iOS 15 模拟器上构建时,我收到以下错误消息:

以调试模式在 iPhone 13 上启动 lib/main.dart... 正在运行 pod 安装... 运行 Xcode 构建... Xcode 构建完成。 204.8s 无法构建 iOS 应用 Xcode 构建的错误输出: ↳ --- xcodebuild:警告:使用多个匹配目标中的第一个: {平台:iOS模拟器,id:dvtdevice-DVTiOSDeviceSimulatorPlaceholder-iphonesimulator:占位符,名称:任何iOS模拟器设备} {平台:iOS模拟器,id:29E31775-0A12-40E8-971E-6C04122A8278,OS:15.0,名称:iPad(第9代)} {平台:iOS模拟器,id:61A480B9-6DBC-40F4-8C45-957391EC3F61,OS:15.0,名称:iPad Air(第4代)} {平台:iOS模拟器,id:28890172-EBAC-4505-8B02-C692AA988855,OS:15.0,名称:iPad Pro(9.7英寸)} {平台:iOS模拟器,id:25AF1CC3-F8DA-4E59-BBE2-64781D9A607B,操作系统:15.0,名称:iPad Pro(11英寸)(第三代)} {平台:iOS模拟器,id:DC7ADFDE-098E-4402-9C19-DAF3DACD1360,OS:15.0,名称:iPad Pro(12.9英寸)(第5代)} {平台:iOS模拟器,id:9F325846-1F78-4E6D-8C89-1595DEC10AC5,OS:15.0,名称:iPad mini(第6代)} { 平台:iOS 模拟器,id:8D5F42FD-B719-43CD-A7C4-87EDAF7A0BAD,OS:15.0,名称:iPhone 8 } { 平台:iOS 模拟器,id:BF205C87-0C1B-4E42-A033-6A5D75FB63FB,OS:15.0,名称:iPhone 8 Plus } { 平台:iOS 模拟器,id:91241BE7-4070-4E13-A34A-991062FE90B2,OS:15.0,名称:iPhone 11 } {平台:iOS模拟器,id:ED94BDED-A5E3-4D94-B2CB-84D486592E53,OS:15.0,名称:iPhone 11 Pro } {平台:iOS模拟器,id:EDD91E09-33CF-4F55-9D56-F1F7FCABE3AF,OS:15.0,名称:iPhone 11 Pro Max } {平台:iOS模拟器,id:1B8A3EA0-BCE2-4803-B493-CA2176995827,OS:15.0,名称:iPhone 12} {平台:iOS模拟器,id:380C9387-703D-47AB-A787-804BA07FAC05,OS:15.0,名称:iPhone 12 Pro } {平台:iOS模拟器,id:6541C680-6335-47B4-B6A0-4AF2CB6E8AB6,OS:15.0,名称:iPhone 12 Pro Max } {平台:iOS模拟器,id:2E16CADF-A050-4865-8976-2EFF54FA3B6F,OS:15.0,名称:iPhone 12 mini } { 平台:iOS 模拟器,id:456EE212-C377-4502-BD0D-62E2D98E5F21,OS:15.0,名称:iPhone 13 } {平台:iOS模拟器,id:F65F2B05-DB6E-4687-BC9F-9CA7937D63A2,OS:15.0,名称:iPhone 13 Pro } {平台:iOS模拟器,id:10B47E8C-04E0-47EB-BBEB-AFE3BC630A8B,OS:15.0,名称:iPhone 13 Pro Max } {平台:iOS模拟器,id:2A850F25-C575-45B1-892C-2CA90EECC058,OS:15.0,名称:iPhone 13 mini } {平台:iOS模拟器,id:67A7404D-CEE5-4797-8B83-6768F05A2F5F,OS:15.0,名称:iPhone SE(第二代)} {平台:iOS模拟器,id:A0F72F10-8EDF-419D-A2E2-47C87AC36525,OS:15.0,名称:iPod touch(第7代)} { 平台:macOS,arch:arm64,变体:专为 [iPad,iPhone] 设计,id:00008103-001175160C31001E } {平台:iOS,id:dvtdevice-DVTiPhonePlaceholder-iphoneos:占位符,名称:任何iOS设备} ** 构建失败 ** Xcode 的输出: ↳ 错误:以下命令失败,退出代码为 0,但没有产生进一步的输出 CompileC /Users/haocair/Library/Developer/Xcode/DerivedData/Runner-bqewhymcvvctgmczqyjvyqkvxlfa/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/gRPC-Core.build/Objects-normal/i386/xds_channel_secure.o /Users/ haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/ext/filters/client_channel/xds/xds_channel_secure.cc 正常 i386 c++ com.apple.compilers.llvm.clang.1_0.compiler(在目标来自项目“Pods”的“gRPC-Core”) 在 /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/ext/filters/client_channel/xds/xds_channel_secure.cc:34 包含的文件中: /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/lib/security/credentials/credentials.h:205:15:警告:匿名非C兼容类型给定名称用于链接typedef 声明的目的;在此处添加标签名称 [-Wnon-c-typedef-for-linkage] 类型定义结构{ ^ grpc_credentials_mdelem_array /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/lib/security/credentials/credentials.h:206:21:注意:由于这个默认成员,类型不是 C 兼容的初始化器 grpc_mdelem* md = nullptr; ^~~~~~~ /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/lib/security/credentials/credentials.h:208:3:注意:类型被命名为“grpc_credentials_mdelem_array”,用于链接目的这个 typedef 声明 } grpc_credentials_mdelem_array; ^ 生成 1 个警告。 在 /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/ext/transport/chttp2/transport/writing.cc:21 包含的文件中: 在 /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/ext/transport/chttp2/transport/context_list.h:26 包含的文件中: /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/ext/transport/chttp2/transport/internal.h:109:15:警告:匿名非C兼容类型给定名称用于通过 typedef 声明进行链接;在此处添加标签名称 [-Wnon-c-typedef-for-linkage] 类型定义结构{ ^ grpc_chttp2_ping_queue /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/ext/transport/chttp2/transport/internal.h:110:52:注意:由于这个,类型不是C兼容的默认成员初始化器 grpc_closure_list 列表[GRPC_CHTTP2_PCL_COUNT] = {}; ^~ /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/ext/transport/chttp2/transport/internal.h:112:3:注意:类型是给定名称'grpc_chttp2_ping_queue'用于链接此 typedef 声明的目的 } grpc_chttp2_ping_queue; ^ 生成 1 个警告。 在 /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/lib/security/security_connector/tls/tls_security_connector.cc:21 包含的文件中: 在 /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/lib/security/security_connector/tls/tls_security_connector.h:25 包含的文件中: 在 /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/lib/security/context/security_context.h:28 包含的文件中: /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/lib/security/credentials/credentials.h:205:15:警告:匿名非C兼容类型给定名称用于链接typedef 声明的目的;在此处添加标签名称 [-Wnon-c-typedef-for-linkage] 类型定义结构{ ^ grpc_credentials_mdelem_array /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/lib/security/credentials/credentials.h:206:21:注意:由于这个默认成员,类型不是 C 兼容的初始化器 grpc_mdelem* md = nullptr; ^~~~~~~ /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/lib/security/credentials/credentials.h:208:3:注意:类型被命名为“grpc_credentials_mdelem_array”,用于链接目的这个 typedef 声明 } grpc_credentials_mdelem_array; ^ 在 /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/lib/security/security_connector/tls/tls_security_connector.cc:32 包含的文件中: 在 /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/lib/security/credentials/ssl/ssl_credentials.h:25 包含的文件中: /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/lib/security/security_connector/ssl/ssl_security_connector.h:60:15:警告:匿名非C兼容类型给定名称用于通过 typedef 声明进行链接;在此处添加标签名称 [-Wnon-c-typedef-for-linkage] 类型定义结构{ ^ grpc_ssl_server_config /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/lib/security/security_connector/ssl/ssl_security_connector.h:61:51:注意:由于这个原因,类型不是C兼容的默认成员初始化器 tsi_ssl_pem_key_cert_pair* pem_key_cert_pairs = nullptr; ^~~~~~~ /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/lib/security/security_connector/ssl/ssl_security_connector.h:66:3:注意:类型是给定名称'grpc_ssl_server_config'用于链接此 typedef 声明的目的 } grpc_ssl_server_config; ^ 生成 2 个警告。 在 /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/lib/security/credentials/tls/tls_credentials.cc:21 包含的文件中: 在 /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/lib/security/credentials/tls/tls_credentials.h:26 包含的文件中: /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/lib/security/credentials/credentials.h:205:15:警告:匿名非C兼容类型给定名称用于链接typedef 声明的目的;在此处添加标签名称 [-Wnon-c-typedef-for-linkage] 类型定义结构{ ^ grpc_credentials_mdelem_array /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/lib/security/credentials/credentials.h:206:21:注意:由于这个默认成员,类型不是 C 兼容的初始化器 grpc_mdelem* md = nullptr; ^~~~~~~ /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/lib/security/credentials/credentials.h:208:3:注意:类型被命名为“grpc_credentials_mdelem_array”,用于链接目的这个 typedef 声明 } grpc_credentials_mdelem_array; ^ 生成 1 个警告。 在 /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/ext/transport/chttp2/transport/stream_lists.cc:22 包含的文件中: /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/ext/transport/chttp2/transport/internal.h:109:15:警告:匿名非C兼容类型给定名称用于通过 typedef 声明进行链接;在此处添加标签名称 [-Wnon-c-typedef-for-linkage] 类型定义结构{ ^ grpc_chttp2_ping_queue /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/ext/transport/chttp2/transport/internal.h:110:52:注意:由于这个,类型不是C兼容的默认成员初始化器 grpc_closure_list 列表[GRPC_CHTTP2_PCL_COUNT] = {}; ^~ /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/gRPC-Core/src/core/ext/transport/chttp2/transport/internal.h:112:3:注意:类型是给定名称'grpc_chttp2_ping_queue'用于链接此 typedef 声明的目的 } grpc_chttp2_ping_queue; ^ 生成 1 个警告..... …………………………………………………………………………………………………………………… /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/FirebaseFirestore/Firestore/Source/API/FIRLoadBundleTask.mm:39:29:警告:隐式转换丢失整数精度:'uint64_t'(又名'unsigned long long')到“NSInteger”(又名“int”)[-Wshorten-64-to-32] _bytesLoaded = progress.bytes_loaded(); ~~~~~~~~~~^~~~~~~~~~~~~~ /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/FirebaseFirestore/Firestore/Source/API/FIRLoadBundleTask.mm:41:28:警告:隐式转换失去整数精度:'uint64_t'(又名'unsigned long long')到“NSInteger”(又名“int”)[-Wshorten-64-to-32] _totalBytes = 进度.total_bytes(); ~~~~~~~~~~^~~~~~~~~~~~~ /Users/haocair/Documents/FlutterPorjects/zwcanada/ios/Pods/FirebaseFirestore/Firestore/Source/API/FIRLoadBundleTask.mm:95:17:警告:隐式转换失去整数精度:'firebase::firestore::api::LoadBundleTask ::LoadBundleHandle'(又名'long long')到'FIRLoadBundleObserverHandle'(又名'int')[-Wshorten-64-to-32] 返回_task->观察(std::move(core_observer)); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 生成 3 个警告。 打包 /Users/haocair/Documents/FlutterPorjects/zwcanada 失败。 命令 PhaseScriptExecution 失败,退出代码非零 注意:使用新的构建系统 注:规划 注意:构建准备完成 注意:并行构建目标 无法为模拟器构建应用程序。 在 iPhone 13 上启动应用程序时出错。

有人知道如何解决这个问题吗?谢谢。

【问题讨论】:

  • 它是如何修复的?

标签: flutter simulator apple-m1 ios15


【解决方案1】:

您需要在 Xcode 上更改项目的配置,如下图所示

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-15
    • 2021-05-27
    • 1970-01-01
    • 1970-01-01
    • 2011-11-17
    • 1970-01-01
    • 2022-01-03
    相关资源
    最近更新 更多