【问题标题】:Can I install an app to the simulator without the source code?我可以在没有源代码的情况下将应用程序安装到模拟器吗?
【发布时间】:2010-10-31 03:28:45
【问题描述】:

我有一个客户只想拖放二进制文件以在模拟器中运行它。

我想构建模拟器应用并将其通过电子邮件发送给他们。

客户端如何在模拟器中安装它?

这可能吗?

感谢您的帮助。

【问题讨论】:

    标签: iphone cocoa-touch xcode


    【解决方案1】:

    只要它们与您的目标操作系统版本相同,就可以了。在你的本地机器上看这里:

    ~/Library/Application Support/iPhone Simulator/User/Applications/

    这是存储应用程序的地方。

    查看此目录并获取安装应用程序时添加的所有内容。然后您可以压缩这些材料并让您的客户将它们解压缩到相同的路径下。

    【讨论】:

    • 我会试一试,只是希望文件不是特定于机器的
    • 我很好奇这个,所以我做了一些更广泛的测试。我只有一台机器来测试它,但我能够从列出的目录中手动删除该应用程序,验证该应用程序不再安装在模拟器中。然后,我将文件移回 Applications 目录,并将它们解压缩到一个名为“test”的新目录中。该应用程序在模拟器中运行良好。剩下的唯一变量是不同的机器,但其他一切似乎都表明这会正常工作。
    • 在一台机器上测试的问题是,如果出现任何问题,很可能出现在证书/代码签名区域。部分信息保存在您在测试中未修改的钥匙串中。更准确的测试是创建一个不同的用户帐户,登录并在其上安装 SDK,然后将文件复制并在模拟器中尝试。
    • @MystikSpiral:另一台机器是否需要安装 Xcode 才能正常工作?
    • 他们将需要 iPhone/iPad 模拟器来完成这项工作。我没有检查过,但我不相信没有 Xcode。
    【解决方案2】:

    正如我之前的海报所说,您会在此文件夹中找到应用程序:

    ~/Library/Application Support/iPhone Simulator/User/Applications/

    我需要复制以下两个文件:

    • 一个具有神秘名称的文件夹(接缝是一些哈希)
    • 还有一个与文件夹同名且后缀为 .sb 的文件

    将它们放在第二台计算机上的相同位置并在那里启动模拟器:

    /Developer/Platforms/iPhoneSimulator.platform/Developer/Applications

    我已在我的工作计算机和未安装证书的家用计算机上对此进行了测试。

    【讨论】:

    • 谢谢,我还没有开始测试,但我的客户需要尽快进行测试。
    • 使用 SDK 3.2 的文件夹结构发生了变化,应用现在位于:~/Library/Application Support/iPhone Simulator/3.1.3/
    • 我在 4.0.2 和 4.3 版本的文件夹中找不到 .sb 文件。有什么想法吗?
    • 如果我没记错的话,这些文件现在已经消失了,不再需要了。
    【解决方案3】:

    我有同样的需求,并在 iOS 5 模拟器中解决了这个问题。

    您需要至少运行该应用程序一次。然后就可以在文件夹路径下找到你的应用了

    ~/Library/Application Support/iPhone Simulator/'模拟器版本'/Applications/

    文件夹将有一个散列名称。 找到包含您的应用程序的文件夹,然后从该文件夹中复制 AppName.app 文件。现在您可以将该文件发送给您的客户。

    客户端将在与上述相同的文件夹路径下创建一个任意名称的文件夹并复制 AppName.app 文件并打开模拟器。瞧……他们会看到模拟器中安装了该应用程序。

    【讨论】:

      【解决方案4】:

      您可以通过在终端应用程序中执行以下命令。

      xcrun simctl install {simulator_udid} {path of .app file}

      它将在引用的模拟器中安装.app 文件。

      注意:确保为模拟器构建 .app 文件(即 i386x86_64)。

      【讨论】:

      • 这是适用于 Xcode 7.2 的解决方案。我过去使用的所有其他技巧都不再有效。这太棒了,因为它是一个 Apple 工具,可以将东西安装在正确的位置。任何早于 2015 年的答案现在都可能无效。
      • 如果您看到“处理命令时遇到错误 (domain=com.apple.CoreSimulator.SimError, code=164): Unable to lookup in current state: Shutdown”您需要启动模拟器首先在 Hardware->Device->{iOS version} 中找到它
      猜你喜欢
      • 1970-01-01
      • 2012-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-29
      • 2020-12-17
      • 2012-02-24
      相关资源
      最近更新 更多