从Flutter构建iOS应用时出错

时间:2020-03-06 05:31:10

标签: ios flutter flutter-dependencies

我正试图从波动中构建iOS应用程序,并避免出现错误。

enter image description here

1 个答案:

答案 0 :(得分:0)

阅读https://github.com/flutter/flutter/issues/17749

Check Configuration here

简而言之:

Flutter框架包含armv7,arm64和x86_64切片,但不包含i386。在模拟器中运行时,Xcode默默将armv7映射到i386模拟器,将arm64映射到x86_64模拟器。 ONLY_ACTIVE_ARCH = YES构建设置仅针对您要定位的设备或模拟器的体系结构进行构建。 Xcode文档:

如果启用,则仅构建活动架构。当使用未定义特定体系结构的运行目标(例如“通用设备”运行目标)进行构建时,将忽略此设置。

因此,如果您针对的是最新的真实iOS设备,则它将构建arm64;如果您针对的是最新的模拟器,则它将构建x86_64。新Xcode项目的Debug构建配置的默认设置为ONLY_ACTIVE_ARCH = YES。

如果您具有ONLY_ACTIVE_ARCH = NO并以实际设备为目标,则它将构建armv7和arm64并成功。如果以模拟器为目标,它将尝试构建i386和x86_64并由于缺少i386而失败,并出现此错误。新Xcode项目的发布版本配置默认为ONLY_ACTIVE_ARCH = NO,因为您需要将所有有效的架构发布到App Store。

模拟器上的Release不支持Flutter。