首页 文章

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

提问于
浏览
5

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

我有以下错误:

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

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

4 回答

  • 0

    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,错误=指定的架构'x86_64'与'/ Users / xxxxxxx / Library / Developer / Xcode / DerivedData / Dino-gjuxikhuyokkqufeqmesmgjcxylu / Build / Products / Debug-中的'i386-apple-ios'不兼容iphonesimulator / Dino.app / Dino')=> SBTarget(0x0)

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

    file“/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

  • 0

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

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

  • 0

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

    对于不支持64位的应用程序,Apple似乎更加严格 . 因此,如果没有具体原因,我认为最好在构建体系结构中包含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

  • 1

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

    • 选择项目 - >构建设置

    • 改变 'Architectures' to 'Standard architectures (armv7, arm64) - $(ARCHS_STANDARD)'
      Step 2

    • 这将提示提示,说明支持iOS 5.1.1及更高版本 . 点击 'Change Deployment Target to 5.1.1'

    Step 3

    • 重复Target的步骤(如果没有自动更改)

    Step 4

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

相关问题