6

每当我在 Xcode 6 GM Seed 中构建时,我都会收到此错误。这似乎让我的应用程序异常缓慢。这到底是什么意思,我该如何解决?

我有以下错误:

警告:在路径“.....”处创建 LLDB 目标时出错 - 使用空的 LLDB 目标可能会导致从远程设备读取内存缓慢。

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

4

4 回答 4

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 (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'与'/Users/xxxxxxx/Library/Developer/Xcode/DerivedData/Dino-gjuxikhuyokkqufeqmesmgjcxylu/Build/Products/Debug-iphonesimulator'中的'i386-apple-ios'不兼容/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 位开发的更多信息,请参阅 Cocoa Touch 的 64 位转换指南或 Cocoa 的 64 位转换指南,具体取决于您的目标平台。

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

于 2014-09-28T22:36:05.463 回答
0

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

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

关于 64 位架构的说明

应用扩展目标必须在其架构构建设置中包含 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

于 2015-03-13T12:09:38.830 回答
0

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

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

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

第 3 步

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

第4步

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

于 2015-03-18T06:18:43.687 回答
0

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

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

于 2014-09-25T05:25:57.467 回答