警告:在某个路径上创建LLDB目标时出错

时间:2014-11-07 10:52:35

标签: console warnings lldb xcode6.1 ios8.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)模拟器中运行应用程序,那么控制台上就没有这样的登录。 可能是什么原因?如果我将应用程序上传到app-store,是否会出现问题。

4 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:2)

通过更改构建设置:

解决了此警告
  1. 选择项目 - >构建设置
  2. 更改'架构'到标准架构(armv7,arm64) - $(ARCHS_STANDARD)' Step 2

  3. 这将提示提示,说明支持iOS 5.1.1及更高版本。点击'将部署目标更改为5.1.1'

  4. Step 3

    1. 重复Target的步骤(如果没有自动更改)
    2. Step 4

      此外,这是首选的构建设置,因为Apple正在迫使开发人员在64位架构上构建应用程序。 Apple document Link

答案 2 :(得分:1)

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

可以通过设置'架构'来解决。到标准架构(armv7,arm64) - $(ARCHS_STANDARD)'在构建设置

答案 3 :(得分:0)

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

任何方式 -  此警告的解决方案是标准架构(armv7,arm64),而不是$(ARCHS_STANDARD_32_BIT)

但请记住,如果您的所有pod,框架也支持此功能,或者您必须升级它们,它将仅支持您的应用。 (有时候它不是一件容易的事。)