Error creating LLDB target at path, Xcode 6 GM see

2019-05-02 06:56发布

问题:

I'm getting this error whenever I build in Xcode 6 GM Seed. It seems to be making my app insanely slow. What exactly does this mean and how do I fix it?

I had the following error:

Warning: Error creating LLDB target at path '.....'- using an empty LLDB target which can cause slow memory reads from remote devices.

PS: im not able to run my app, its stuck on the splash screen

回答1:

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



回答2:

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.



回答3:

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



回答4:

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