每当我在 Xcode 6 GM Seed 中构建时,我都会收到此错误。这似乎让我的应用程序异常缓慢。这到底是什么意思,我该如何解决?
我有以下错误:
警告:在路径“.....”处创建 LLDB 目标时出错 - 使用空的 LLDB 目标可能会导致从远程设备读取内存缓慢。
PS:我无法运行我的应用程序,它卡在启动画面上
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 位转换指南,具体取决于您的目标平台。
您是否使用 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 位转换指南,具体取决于您的目标平台。
通过更改构建设置可以解决此警告:
将“架构”更改为“标准架构(armv7,arm64)-$(ARCHS_STANDARD)”
这将提示一条警报,说明支持 iOS 5.1.1 及更高版本。单击“将部署目标更改为 5.1.1”
此外,这是首选的构建设置,因为 Apple 强制开发人员在 64 位架构上构建应用程序。苹果文档链接
我不确定这是否会对您的情况有所帮助。但是我尝试了这个解决方案,它对我来说非常有效。拉起终端并输入 - rm -rf ~/Library/Developer/Xcode/DerivedData
这应该删除大量的 DerivedData 文件夹并使应用程序执行得更快。