Re: Bad bugs with Xcode 4.4/4.5
Re: Bad bugs with Xcode 4.4/4.5
- Subject: Re: Bad bugs with Xcode 4.4/4.5
- From: Robert DuToit <email@hidden>
- Date: Thu, 04 Oct 2012 07:53:04 -0400
Shane,
Did you mean that the open/save bug is fixed automatically in xcode 4.5.1 or just that you can edit the info tab again?
Rob
On Oct 4, 2012, at 12:36 AM, Shane Stanley <email@hidden> wrote:
> There are a couple of serious issues with garbage-collected apps compiled with Xcode 4.4/4.5 that people should be aware of if they want them to run under OS X 10.6.
>
> First, there's a crashing bug if you show an open or save panel (not via normal AS commands, but using NSOpenPanel or NSSavePanel), or use threaded animation on a progress bar, and possibly in other cases. The result is a crash that usually includes something like this:
>
> Thread ?? Crashed:
> 0 com.apple.AppKit 0x00007fff828ed9de -[NSImage _allocAuxiliaryStorage] + 158
> 1 com.apple.AppKit 0x00007fff82a71f05 -[NSImage copyWithZone:] + 66
>
> Second, there's a bug where apps continue to work, or partly work, but messages like this are logged in Console:
>
> objc[201]: GC: 0x10029cf20 + 24 isn't in the auto_zone, break on objc_assign_ivar_error to debug.
> objc[201]: GC: 0x10029cf20 + 8 isn't in the auto_zone, break on objc_assign_ivar_error to debug.
> objc[201]: GC: 0x10029cf20 + 64 isn't in the auto_zone, break on objc_assign_ivar_error to debug.
>
> At some stage, the app might crash. I've also seen symptoms like text entered into a table cell disappearing when the enter key is pressed.
>
> Both the above problems happen only in 64-bit mode.
>
> There appear to be a few workarounds:
>
> * If you're running OS X 10.7 or earlier, go back to Xcode 4.3.3 or earlier.
>
> * Compile as 32-bit only. This probably isn't a great idea.
>
> * Compile as 64-bit/32-bit, and set it to run 64-bit only under OS X 10.7 only.
>
> To do the latter, you need to add an entry in the Info tab for your target. However, there's a bug in Xcode 4.5 that makes adding a new entry here difficult; the Add Row contextual menu doesn't work, neither do the + symbol buttons properly, and if you fiddle with it it's easy to end up with lots of irrelevant entries, or worse, none at all.
>
> The entry that needs to be added has the key "Minimum system versions, per-architecture", and by default it contains a single dictionary. You should change this dictionary to have a key of "Intel (64-bt)" and a value of "10.7". This will ensure the resulting binary will launch as 32-bit under versions of the OS before 10.7 (provided you have compiled 64-bit/32-bit).
>
> To get around the Info tab bug, you can instead edit the file called <Project name>-Info.plist, which is usually in the Supporting Files group. Control-click on it in the File Navigator and choose Open As... -> Source Code in the contextual menu. Paste in the following entry:
>
> <key>LSMinimumSystemVersionByArchitecture</key>
> <dict>
> <key>x86_64</key>
> <string>10.7</string>
> </dict>
>
> It doesn't matter where you insert it, as long as it isn't in the middle of some other key-value pair. If you later modify an entry in the Info tab it will be moved (to alpabetical order) anyway.
>
> --
> Shane Stanley <email@hidden>
> 'AppleScriptObjC Explored' <www.macosxautomation.com/applescript/apps/>
>
>
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> applescriptobjc-dev mailing list (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
applescriptobjc-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden