xcodebuild 不创建 x86_64 二进制文件

标签 xcode xcode5 static-libraries x86-64 xcodebuild

尝试使用 xcodebuild 编译静态库时遇到一个奇怪的问题。
项目的配置是:
ARCHS = $(ARCHS_STANDARD)
VALID_ARCHS = $ARCHS
它使用 Xcode 5.1.1 执行。

现在是奇怪的部分 - 在连接到 Jenkins 的机器上构建的项目生成具有所有 5 种架构(armv7 armv7s arm64、i386、x86_64)的胖库,但是当在我的(64 位)Mac 上启动构建时,我只有四个 -缺少 x86_64。没有代码更改,干净的 repo ,完全相同的构建例程。

我想知道是什么导致了这种差异。我想这可能是我这边的某种环境设置,但不知道它可能是什么。项目配置没有受到怀疑 - 它在不同的机器上创建了适当的胖库。

我会很感激你的建议。

编辑:也没有抛出错误。 xcodebuild 的行为就像未指定架构一样 - 仅为 i386 编译 iphonesimulator 构建。
同样值得注意的是 - Xcode 创建所有架构,只有从命令行执行的 xcodebuild 有问题。

最佳答案

尝试将 -destination 标志添加到您的 xcodebuild 命令。

xcodebuild -workspace MyWorkspace.xcworkspace -scheme MyScheme -destination 'platform=OS X,arch=x86_64' test

以上是来自 xcodebuild manual page 的一个例子.

我有一个类似的问题,我希望 xcodebuild 为模拟器制作一个 i386 版本并继续创建 Armv7,直到我将该标志添加到我的命令中。

关于xcodebuild 不创建 x86_64 二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25932944/

相关文章:

ios - 如何签署未签名的 IPA?

xcode - 将 Xcode 5 降级到 Xcode 4.6.1

c++ - 使用虚拟继承时初始化基类

c++ - 我的应用程序是否正在加载 dll 以使用 std::string?

c++ - dev c++ 过时的库和包含

ios - 如何将文本字段的内容转换为 Xcode 11 (swift) 中的变量?

swift - xcodebuild ACTIVE_COMPILATION_CONDITIONS 不会覆盖目标的 ACTIVE_COMPILATION_CONDITIONS

objective-c - 为什么这个 sin 方法会返回错误的答案?

c++ - 在没有调试符号的情况下在 Xcode 中调试 dylib

c++ - 由于静态库而导致单例的多个实例面临的问题