简体   繁体   中英

Error creating LLDB target at path, Xcode 6 GM seed

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

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)' 第2步

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

第3步

  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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM