首页 > 解决方案 > 从 Podfile 等更改 XCode Target > Build Settings > Architecture

问题描述

我正在使用 Gitlab 运行 CD/CI 管道,该管道通过 mac mini M1 构建和部署 Flutter 应用程序。

最近我们将 xcode 升级到了 12.5.1,我们的 Flutter 应用从 v1 升级到了 v2,这涉及到大量的依赖升级。

此升级仅在具有 M1 芯片的计算机上产生了一些问题。

尽管我们已经修复了大部分问题,但只有通过手动将 Target > Build Settings > Architecture 从 ARCHS_STANDARDS 更改为 'arm64' 才能修复 1 个。

因为每次我们部署一个新的 XCode 实例时,我们都无法手动进行此更改,我们需要从代码中进行更改。

我已将此应用到我的 Podfile 中:

post_install do |installer|
    installer.pods_project.targets.each do |target|
       flutter_additional_ios_build_settings(target)
       target.build_configurations.each do |config|
          config.build_settings['ARCHS'] = 'arm64'
       end
    end
end

但不幸的是,它不会强制 ARCHS 更改为 arm64。有没有办法从 Podfile 或代码中的任何其他文件中做到这一点?

谢谢乔

更新:上面的代码片段似乎没有做任何事情。因此,我能够通过更改 xcode 中的架构来更改 project.pbxproj。

通过添加所有“arm64”而不是架构标准,project.pbxproj 将 ARCHS 添加到 buildSettings:

buildSettings = {
    ALWAYS_SEARCH_USER_PATHS = NO;
    ARCHS = arm64;
....

但是当我运行我的管道时,XCode 似乎并不关心 project.pbxproj 中 buildSettings 的设置是什么,我也不知道为什么。有没有人知道如何通过任何代码片段来更改架构?谢谢

标签: iosxcodeflutterpodfile

解决方案


推荐阅读