1

我在 Xcode 6.1 和 iPhone (iOS 8.1) 模拟器上运行应用程序。运行时,我在登录控制台窗口下方:

Warning: Error creating LLDB target at path '/Users/macbook/Library/Developer/Xcode/DerivedData/..Project.app'- 
using an empty LLDB target which can cause slow memory reads from remote devices.

如果我在 Xcode 5.x 和 iPhone (iOS 7.x) 模拟器中运行应用程序,那么控制台上就没有这样的日志。可能是什么原因?如果我将应用程序上传到应用程序商店,会有问题吗?

4

4 回答 4

5

此警告主要用于 iOS 设备调试。在那个环境中,Xcode 将设备的库和框架复制到 Mac 上,并将它们保存在 lldb 的目录中。当您启动调试会话并且 lldb 看到您的应用程序正在使用 Foundation 框架时,它可以在 Mac 上读取副本 - 否则它将不得不从缓慢的 iOS 调试会话中读取内存中的副本。

为什么你会在一些模拟器调试配置中看到这一点,我不能说;这不是预期的。但是对于 Mac 本机进程调试会话(就像您正在使用 iOS 模拟器调试一样),它是无害的 - lldb 从本地 mac 内存中读取它的性能成本非常小。

上传到商店时绝对不会对您的应用产生任何影响。这完全是 Xcode/lldb 缓存问题,与您的应用程序无关。

于 2014-11-08T02:49:01.823 回答
2

通过更改构建设置可以解决此警告:

  1. 选择项目 -> 构建设置
  2. 将“架构”更改为“标准架构(armv7,arm64)-$(ARCHS_STANDARD)” 第2步

  3. 这将提示一条警报,说明支持 iOS 5.1.1 及更高版本。单击“将部署目标更改为 5.1.1”

第 3 步

  1. 对目标重复步骤(如果未自动更改)

第4步

此外,这是首选的构建设置,因为 Apple 强制开发人员在 64 位架构上构建应用程序。苹果文档链接

于 2014-12-23T09:20:31.087 回答
1

当您使用 Architectures=$(ARCHS_STANDARD_32_BIT) 并在 64 位设备上运行您的应用程序时,它会导致。

可以通过在构建设置中将 'Architectures' 设置为 'Standard architectures (armv7, arm64) - $(ARCHS_STANDARD)' 来解决

于 2015-10-29T05:45:08.137 回答
0

那么,当您在 iPhone 5S 或最新设备/模拟器上调试时收到此警告时,是否可以将应用程序提交到应用商店?我听说如果你没有任何理由不升级到 64 位拱门,苹果会拒绝你的应用程序。

任何方式 - 此警告的解决方案是 Standard Architectures(armv7,arm64) 而不是 $(ARCHS_STANDARD_32_BIT)

但请记住,只有当您的所有 pod、框架也支持此功能或您必须升级它们时,它才会支持您的应用程序。(有时这不是一件容易的事。)

毗湿奴

于 2014-12-08T09:38:31.033 回答