路径创建LLDB目标错误,Xcode 6 GM seed

6

每当我在Xcode 6 GM Seed上构建时,都会出现这个错误。它似乎让我的应用程序变得异常缓慢。这到底意味着什么,我该如何解决?

我遇到了以下错误:

警告:在路径'.....'创建LLDB目标时出错-使用一个空的LLDB目标可能会导致从远程设备读取内存速度变慢。

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


1
你看过这个回答吗?那个对我来说解决了非常确切的问题。 - Superhubert
不是解决问题的方法,但您可以通过在调试控制台中单击“继续”按钮来跳过启动画面。 - dwb
4个回答

1

在苹果开发者论坛中有一个帖子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 (filename="/Users/xxxxxxx/Library/Developer/Xcode/DerivedData/Dino-gjuxikhuyokkqufeqmesmgjcxylu/Build/Products/Debug-iphonesimulator/Dino.app", triple=x86_64, platform_name=(null), add_dependent_modules=1, error=指定的架构“x86_64”与“i386-apple-ios”不兼容于“/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 文档指出以下内容。我必须浏览我的嵌套框架并更改一些过时的架构目标-

关于64位架构的说明

应用程序扩展目标必须在其“体系结构”构建设置中包含arm64架构,否则将被App Store拒绝。当您创建新的应用程序扩展目标时,Xcode会将此架构包含在其“标准体系结构”设置中。

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

有关64位开发的更多信息,请参见Cocoa Touch 64位转换指南或Cocoa 64位转换指南,具体取决于您的目标平台。

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


@VyachaslavGerchicov,似乎存在一些与特定版本的工具链相关的持续问题。您是否尝试过此帖子中的一些建议?https://dev59.com/fGsz5IYBdhLWcg3wv6ju - blueether

0

这个警告可以通过更改构建设置来解决:

  1. 选择项目 -> 构建设置
  2. '架构'更改为'Standard architectures (armv7, arm64) - $(ARCHS_STANDARD)' Step 2

  3. 这将提示一个警告,说明支持iOS 5.1.1及以上版本。点击'将部署目标更改为5.1.1'

Step 3

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

Step 4

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


0

我不确定这个方法是否适用于你的情况。但是我尝试了这个解决方案,对我来说效果非常好。

打开终端并输入rm -rf ~/Library/Developer/Xcode/DerivedData

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


0

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

苹果似乎对不支持64位的应用程序更加严格。因此,如果没有特殊原因,我认为最好在你的构建架构中包含arm64。

关于64位架构的注意事项

应用程序扩展目标必须在其Architectures构建设置中包括arm64架构,否则它将被App Store拒绝。Xcode在创建新的应用程序扩展目标时会将这个架构包含在其“标准架构”设置中。

如果你的容器应用程序目标链接到一个嵌入式框架,那么该应用程序也必须包括arm64架构,否则它将被App Store拒绝。

有关64位开发的更多信息,请参阅Cocoa Touch的64位转换指南或Cocoa的64位转换指南,具体取决于你的目标平台。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接