【问题标题】:How to execute an arbitrary prebuilt binary on iOS Simulator?如何在 iOS 模拟器上执行任意预构建的二进制文件?
【发布时间】:2014-09-16 03:59:57
【问题描述】:

我有一个不是用 xcode 构建的预构建二进制文件,因此我没有任何 .app 或 xctest 或任何其他与 Xcode 相关的构建工件。 但是我想在 iOS 模拟器上运行它。我怎样才能做到这一点? 我已经检查过thisthis。没有帮助。

了解问题的更多背景知识: 我正在为 iOS 构建一个 Boost C++ 库,我想执行它自己的单元测试。 Boost 有一个完全不同的构建系统 (Bjam),我对其进行了定制以使用正确的 iOS 工具链和 clang 链接/编译器标志。 我无法为整个 Boost 库创建 Xcode 项目,我已经有一个二进制文件(单元测​​试),我只想在 iOS 模拟器上执行它。 (我可以很容易地用 Android 完成同样的任务。)

谢谢, 嘉柏

【问题讨论】:

  • 我认为第一个问题是应用程序应该为 X86 而不是 ARM(iOS 原生)构建。然后你将不得不制作某种 .app 文件(它实际上是一个文件夹)并将其加载到模拟器中
  • 嗨,预构建的二进制文件是为 X86 构建的(使用 -arch i386)。所以这不是这里的主要问题。

标签: c++ ios xcode boost ios-simulator


【解决方案1】:

经过更多研究,我找到了答案。 简而言之,答案是:不可能这样做。

但我可以有令人讨厌和糟糕的解决方法。 以下是我在提升日志测试的情况下为解决方法所做的: 我已经有一个能够在 iOS 模拟器上执行一些测试的 Xcode 项目。所以我侵入了 Xcode 项目中所有 boost log 测试的源文件。这样重新编译它们。不过,如果源文件不可用,我不知道有什么解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 2012-08-19
    • 2020-08-21
    相关资源
    最近更新 更多