Re: 10.6 SDk and 10.5 Deployment
Re: 10.6 SDk and 10.5 Deployment
- Subject: Re: 10.6 SDk and 10.5 Deployment
- From: Eric Wing <email@hidden>
- Date: Thu, 28 Jun 2012 13:58:13 -0700
On 6/28/12, Gary L. Wade <email@hidden> wrote:
> Whenever you support an earlier OS, you should always have that earliest and
> all intermediate SDKs available, and you should make it a standard practice
> to build your products against those SDKs at least before releasing to
> customers just as you do an analyzer build. This will help you identify many
> of the cases where you need to safeguard against the use of unavailable
> APIs, methods, and classes. Oh, and you really should be turning on and
> listening to practically every warning possible. Then, after you do all
> that, testing definitely should be done.
>> It can definitely be done in theory.
>>
>> In practice you have to test the heck out of it, because without the 10.5
>> SDK, there’s nothing keeping you from accidentally using 10.6+ APIs, whose
>> effects will only show up by throwing runtime exceptions on 10.5.
>>
One additional gotcha that I have hit multiple times is that if your
application links to system .dylibs (not .frameworks), Xcode links to
the explicit filename versioned .dylib file on your system that the
generic one is symlinked to. This is a problem if say 10.6 has a newer
version of libcrypto.dylib or libreadline.dylib which doesn't exist on
10.5. Your app will crash on launch on 10.5 because it can't find the
dependent library. For this, I have resorted to using
install_name_tool to rewrite the dependencies to link to the generic
symlinked version because Xcode has fought all my attempts to control
what it actually links to.
-Eric
--
Beginning iPhone Games Development
http://playcontrol.net/iphonegamebook/
_______________________________________________
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