phlux.us

Blog about hardware and software projects by phluxus

Archive for the ‘Cocoa’ Category

XCode: symbolicatecrash doesn’t work with apps with spaces in the name.

leave a comment »

Apple has allowed spaces in application names since about 1984. How long ago was that? Exactly.

I had to debug some crashreports from an iOS app with a space in the name. Now, there are some handy websites out there that describe this process, notably  http://www.anoshkin.net/blog/2008/09/09/iphone-crash-logs/

But that didn’t work, because the script fails with an error in a find command. Say our app is called “Apple Soup.app” Somewhere in the output is the error message:

Running find “/Users/…/Library/Developer/Xcode/Archives/2011-07-02/appletest 02-07-11 15.22.xcarchive/Products” -name Apple Soup.app
find: Soup.app: unknown option Did not find executable for dsym
## Warning: Can’t find any unstripped binary that matches version of /var/mobile/Applications/ … etc. 

I’m using a copy of symbolicatecrash from

/Applications/Utilities/iPhone Configuration Utility.app/Contents/Frameworks/
DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash”

but the bug is also in

/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/
DTDeviceKit.framework/Versions/A/Resources/symbolicatecrash
(XCode 4.0.2)

Conclusion: The program fails to find an application binary if there is a name in the application.

Luckily, there is a terribly easy fix:

Just replace the following find command in the symbolicatecrash perl script (line 251)

my $cmd = “find \”$archive_path/Products\” -name $exec_name.app”;

with

my $cmd = “find \”$archive_path/Products\” -name \”$exec_name.app\””;

Advertisements

Written by axello

2011-07-05 at 14:15

Posted in Cocoa, devtools

XCode 4 won’t start: Loading a plug-in failed

with 13 comments

I installed XCode 4.2 beta, but decided to leave iOS 5 programming off for now, so I uninstalled and reinstalled XCode 4.02.
However, 4.02 would not start up, but gave an error in the Crashlog:

UNCAUGHT EXCEPTION (NSInternalInconsistencyException): Couldn’t load plug-in ‘com.apple.dt.IDE.IDEiPhoneSupport’ while firing fault for extension ‘Xcode.Device.iPhone’
UserInfo: {
NSUnderlyingError = “Error Domain=DVTPlugInErrorDomain Code=2 UserInfo=0x200446020 \”Loading a plug-in failed.\” Underlying Error=(Error Domain=NSCocoaErrorDomain Code=3587 UserInfo=0x200443d60 \”The bundle \U201cIDEiPhoneSupport\U201d couldn\U2019t be loaded because it is damaged or missing necessary resources.\” (dlopen_preflight(/Developer4/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/IDEiPhoneSupport.ideplugin/Contents/MacOS/IDEiPhoneSupport): Library not loaded: /System/Library/PrivateFrameworks/DeviceLink.framework/Versions/A/DeviceLink\n Referenced from: /Developer4/Platforms/iPhoneOS.platform/Developer/Library/Xcode/PrivatePlugIns/IDEiPhoneSupport.ideplugin/Contents/MacOS/IDEiPhoneSupport\n Reason: image not found))”;
}

After some browsing in /System/Library/PrivateFrameworks/ it seemed the DeviceLink.framework was removed by the uninstaller as well.
Now iOS devices didn’t even show up in iTunes!

Reinstalling XCode proved not succesful, but reinstalling iTunes 10.5 beta was. This installed the DeviceLink.framework.

 

Written by axello

2011-06-20 at 23:19

Posted in Cocoa, devtools

Tagged with