在路径,Xcode 6 GM种子上创建LLDB目标时出错

时间:2014-09-10 09:07:09

标签: ios ios8 xcode6 iphone-6

每当我构建Xcode 6 GM Seed时,我都会收到此错误。它似乎使我的应用程序疯狂地慢。这究竟是什么意思,我该如何解决?

我遇到以下错误:

  

警告:在路径'.....'创建LLDB目标时出错,使用空   LLDB目标可能导致远程设备读取内存缓慢。

PS :我无法运行我的应用,它卡在启动画面上

4 个答案:

答案 0 :(得分:1)

Apple开发者论坛中有一个主题https://devforums.apple.com/message/1010068#1010068,其中介绍了如何诊断此问题。我有Xcode 6 GM Seed的问题,特别是版本6.0.1(6A317)。这不一定是解决方案,但它可以帮助一些人获得更好的诊断

有用的步骤如下 -

1)创建或修改您的~/.lldbinit并向其添加log enable -f /tmp/lldb-api.txt lldb api

2)重新运行调试器会话(无需重启Xcode或其他任何东西)

3)检查/tmp/lldb-api.txt处的文件。查找以SBDebugger::CreateTarget(...)开头的行。我看起来像这样

  

SBDebugger(0x7f83671fd600):: CreateTarget   (文件名= “/用户/ XXXXXXX /库/开发商/ Xcode中/ DerivedData /恐龙gjuxikhuyokkqufeqmesmgjcxylu /编译/产品/调试-iphonesimulator / Dino.app”   triple = x86_64,platform_name =(null),add_dependent_modules = 1,   error =指定的体系结构'x86_64'与之不兼容   'i386-apple-ios'in   '/Users/xxxxxxx/Library/Developer/Xcode/DerivedData/Dino-gjuxikhuyokkqufeqmesmgjcxylu/Build/Products/Debug-iphonesimulator/Dino.app/Dino')   => SBTarget(为0x0)

4)检查上面日志输出中的目标文件,在我的情况下 -

  

文件   “/Users/xxxxxxx/Library/Developer/Xcode/DerivedData/Dino-gjuxikhuyokkqufeqmesmgjcxylu/Build/Products/Debug-iphonesimulator/Dino.app/Dino”

     

/Users/apanagar/Library/Developer/Xcode/DerivedData/Dino-gjuxikhuyokkqufeqmesmgjcxylu/Build/Products/Debug-iphonesimulator/Dino.app/Dino:   Mach-O可执行文件i386

5)所以,在我的情况下,我的问题是我正在构建的架构。项目的目标体系结构应与日志输出中SBDebugger :: CreateTarget()行的体系结构相匹配。

Xcode doc指出了以下内容。我不得不通过我的嵌套框架并更改一些过时的架构目标 -

  

关于64位架构的说明

     

应用扩展程序目标必须包含arm64架构   架构构建设置或App Store将拒绝。   Xcode包含这种架构及其“标准架构”   在创建新的应用扩展程序目标时进行设置。

     

如果您的包含应用目标链接到嵌入式框架,该应用   还必须包括arm64架构,否则它将被拒绝   App Store。

     

有关64位开发的更多信息,请参阅64位转换   适用于Cocoa的Cocoa Touch或64位过渡指南指南   在您的目标平台上。

https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensionCreation.html#//apple_ref/doc/uid/TP40014214-CH5-SW1

答案 1 :(得分:0)

我不确定这对您的情况是否有帮助。但我尝试了这个解决方案,它对我来说非常巧妙。 拉起终端并输入 - rm -rf~ / Library / Developer / Xcode / DerivedData

这应该删除大量的DerivedData文件夹并使应用程序执行得更快。

答案 2 :(得分:0)

您是否使用了Architectures = $(ARCHS_STANDARD_32_BIT)并在64位设备上运行您的应用程序? (iPhone 5S或iPhone 5S模拟器)

对于不支持64位的应用程序,Apple似乎更加严格。因此,如果没有具体原因,我认为在构建体系结构中包含arm64会更好

  

关于64位架构的说明

     

应用扩展程序目标必须包含arm64架构   架构构建设置或App Store将拒绝。   Xcode包含这种架构及其“标准架构”   在创建新的应用扩展程序目标时进行设置。

     

如果您的包含应用目标链接到嵌入式框架,该应用   还必须包括arm64架构,否则它将被拒绝   App Store。

     

有关64位开发的更多信息,请参阅64位转换   适用于Cocoa的Cocoa Touch或64位过渡指南指南   在您的目标平台上。

来源: https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensionCreation.html#//apple_ref/doc/uid/TP40014214-CH5-SW1

答案 3 :(得分:0)

通过更改构建设置:

解决了此警告
  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