当应用程序从命令行 + iOS 时出现错误的无效架构“arm”
Posted
技术标签:
【中文标题】当应用程序从命令行 + iOS 时出现错误的无效架构“arm”【英文标题】:Error invalid architecture 'arm' when app from command line + iOS 【发布时间】:2013-05-27 06:08:51 【问题描述】:我想用 ios 模拟器从命令行构建一个 iOS 应用程序。
The build settings are:
1. Architectures - armv7
2. Base SDK - Latest IOS(6.1)
3. Build Active Architecture only - yes
4. Valid architectures - armv7 (also tried adding i386)
5. IOS deployment target - IOS 4.3
我正在执行以下命令:
xcodebuild -target splistapp2 -sdk iphonesimulator6.1 -configuration Release (also tried with -arch "i836")
但是这个命令给出了以下错误:
invalid architecture 'arm' for deployment target '-mios-simulator-version-min=4.2'
可能是什么问题?
【问题讨论】:
您是否尝试将其添加到“架构”而不是“有效架构”?另外要使用 -arch 标志,您需要在有效架构中使用它并传递标志(我不知道您是否同时尝试了这两种标志) 是的,我试过了。不工作。 嗯,错误信息很清楚。我在构建脚本中使用了一个非常相似的命令,它工作得很好。您确定您正在编辑正确的目标(以及正确的配置,即调试与发布)。在没有亲眼看到的情况下,我们只能相信您的设置(而且我不相信 SO 上的大多数人会写出正确的信息......) 尽管如此,我只是检查了一下,我构建的活动架构只设置为“否” 【参考方案1】:如果有人再次遇到同样烦人的问题,我将在这里分享我的脚本:记住在包含 xcodeproj 文件的目录下运行此命令。
xcodebuild \
-project "full-path-to-your-xcodeproj-file" \
-target YOUR_TARGET \
-sdk iphonesimulator6.1 \
-arch i386 \
-configuration Debug \
VALID_ARCHS="armv6 armv7 i386" \
ONLY_ACTIVE_ARCH=NO \
TARGETED_DEVICE_FAMILY="1" \
clean install
我修改了 TARGETED_DEVICE_FAMILY,因为我只为 iPhone 构建。如果您想同时为 iPhone 和 iPad 构建,请删除此行或替换为 TARGETED_DEVICE_FAMILY="1, 2"。
【讨论】:
【参考方案2】:设备使用ARM;而模拟器使用i386。任选其一:
iphonesimulator6.1 和arch i386 iphoneos 和 arch armv7(或 armv7s)【讨论】:
【参考方案3】:使用arch1386架构实现。
xcodebuild -project splistapp2 -target TEST_TARGET -sdk iphonesimulator -configuration "Debug" -arch i386
【讨论】:
以上是关于当应用程序从命令行 + iOS 时出现错误的无效架构“arm”的主要内容,如果未能解决你的问题,请参考以下文章
Xcode:尝试在iOS模拟器中运行应用程序时出现无效的符号链接错误
找不到 MySQL - 尝试从命令行访问 MySQL 时出现“找不到命令”错误