ios - 从 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 的设置是什么,我也不知道为什么。有没有人知道如何通过任何代码片段来更改架构?谢谢
解决方案
推荐阅读
- networking - 将外部网络添加到 openstack
- scala - 在 Scala 中使用 GraphStream 显示节点和边的名称
- php - 如何使用 Guzzle 的 build_query 功能?
- pybliometrics - 如何查找具有给定隶属关系的所有作者的 ID,包括过去曾隶属的作者?
- javascript - 展开所有和折叠所有表格功能
- java - 使用注解启用 Kotlin typealias 类型检查
- regex - Alteryx REGEX 每个句子的首字母大写,其余字母小写
- vue.js - 关于 VueX 良好的变异实践
- jquery - jquery 函数不适用于 Dynaamic Boostrap 模态关闭
- python - 替换列值熊猫中所有值的更好方法