Re: building and running on Snow Leopard
Re: building and running on Snow Leopard
- Subject: Re: building and running on Snow Leopard
- From: Chris Idou <email@hidden>
- Date: Wed, 23 Sep 2009 01:20:57 -0700 (PDT)
Ok, so if I don't desire bug for bug 10.5 compatibility, but I do want it to run on 10.5, then I select 10.6 SDK and 10.5 deployment target, is that right?
I'm curious what happens if you use some external frameworks that were built against 10.5 SDK, yet your main app is 10.6 - I assume it will have to go with what your app says, I guess?
Also, since I'd like to take advantage of Snow Leopard bug fixes, but I don't want to blow up on Leopard, what is the correct way to test whether you are running on Leopard so that the code at runtime can implement Leopard specific work arounds?
________________________________
From: Ken Thomases <email@hidden>
To: Chris Idou <email@hidden>
Cc: email@hidden
Sent: Wednesday, 23 September, 2009 5:37:01 PM
Subject: Re: building and running on Snow Leopard
On Sep 23, 2009, at 2:20 AM, Chris Idou wrote:
> If you build an application on Snow Leopard, but against the 10.5 deployment target, and then you run the program on Snow Leopard, do you get all the Leopard 10.5 bugs as if you ran it on Leopard, or do you get to benefit from Snow Leopard bug fixes only if you build against the 10.6 deplotment target?
Not quite either.
At runtime, your app can only use the frameworks provided on the host system. Just because you linked against the 10.5 SDK doesn't change the fact that Snow Leopard only provides Snow Leopard's frameworks.
In general, your app will get the benefit of bug fixes in the Snow Leopard frameworks when running on Snow Leopard. However, there are some bug fixes which Apple has determined would break backward compatibility with apps built and tested on Leopard or earlier. For those fixes, they test which SDK the app was built against. For those built against the pre-Snow Leopard SDK, they continue to provide the old, compatible-bug-buggy behavior. This is documented in the release notes for the affected frameworks.
Note that this tests for the SDK that the app was built against. You mentioned deployment target. That's not the same thing. If you build against the 10.6 SDK but with a 10.5 deployment target, it is expected that you will be testing on both 10.6 and 10.5. It is then your code's responsibility to handle both the old framework behavior the new behavior. The Snow Leopard frameworks _do not_ go out of their way to maintain the old behavior in this case.
Regards,
Ken
__________________________________________________________________________________
Get more done like never before with Yahoo!7 Mail.
Learn more: http://au.overview.mail.yahoo.com/
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden