Error creating LLDB target at path, Xcode 6 GM seed

和自甴很熟 提交于 2019-12-05 11:30:13

There is a thread in the Apple Developer Forum, https://devforums.apple.com/message/1010068#1010068 that describes how to diagnose this issue. I had his issue for Xcode 6 GM Seed, specifically - Version 6.0.1 (6A317). This isn't necessarily a solution, but it may help some people get a better diagnosis

Useful steps are as follows -

1) Create or modify your ~/.lldbinit and add log enable -f /tmp/lldb-api.txt lldb api to it.

2) Rerun your debugger session (no need to restart Xcode or anything)

3) Inspect the file at /tmp/lldb-api.txt. Look for a line beginning with SBDebugger::CreateTarget(...). Mine looked something like this

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=the specified architecture 'x86_64' is not compatible with 'i386-apple-ios' in '/Users/xxxxxxx/Library/Developer/Xcode/DerivedData/Dino-gjuxikhuyokkqufeqmesmgjcxylu/Build/Products/Debug-iphonesimulator/Dino.app/Dino') => SBTarget(0x0)

4) Inspect the target file from the above log output, in my case -

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 executable i386

5) So, In my case my problem was the architectures I was building for. The target architecture for your project should match the one on the SBDebugger::CreateTarget() line in the log output.

Xcode doc's point out the following. I had to go through my nested frameworks and change some outdated architecture targets -

NOTE ABOUT 64-BIT ARCHITECTURE

An app extension target must include the arm64 architecture in its Architectures build settings or it will be rejected by the App Store. Xcode includes this architecture with its “Standard architectures” setting when you create a new app extension target.

If your containing app target links to an embedded framework, the app must also include the arm64 architecture or it will be rejected by the App Store.

For more information about 64-bit development, see 64-Bit Transition Guide for Cocoa Touch or 64-Bit Transition Guide for Cocoa, depending on your target platform.

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

I am not sure if this will help in your case. But I tried this solution and it worked pretty neatly for me. Pull up the terminal and type - rm -rf ~/Library/Developer/Xcode/DerivedData

This is supposed to remove the huge stack of DerivedData folder and make the app execute faster.

Did you use Architectures=$(ARCHS_STANDARD_32_BIT) and run your app on a 64 bit device? (iPhone 5S or iPhone 5S simulator)

Apple seems to be stricter with apps which don't support 64bit. So if there is no specific reason, I think it's better to include arm64 in your build architecture

NOTE ABOUT 64-BIT ARCHITECTURE

An app extension target must include the arm64 architecture in its Architectures build settings or it will be rejected by the App Store. Xcode includes this architecture with its “Standard architectures” setting when you create a new app extension target.

If your containing app target links to an embedded framework, the app must also include the arm64 architecture or it will be rejected by the App Store.

For more information about 64-bit development, see 64-Bit Transition Guide for Cocoa Touch or 64-Bit Transition Guide for Cocoa, depending on your target platform.

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

This warning is solved by changing Build Settings :

  1. Select Project -> Build Settings
  2. Change 'Architectures' to 'Standard architectures (armv7, arm64) - $(ARCHS_STANDARD)'

  3. This will prompt an alert stating iOS 5.1.1 and above are supported. Click 'Change Deployment Target to 5.1.1'

  1. Repeat steps for Target (if not changed automatically)

Also, this is preferred build setting since Apple is forcing developers to build apps on 64 but architecture. Apple document Link

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!