Re: Implementing delegate categories for subclasses

Christiaan Hofman <[email protected]>
Newsgroups gmane.comp.macosx.devel
Message-ID <[email protected]>
On Sep 10, 2009, at 0:34, Kyle Sluder wrote:

> On Wed, Sep 9, 2009 at 3:01 PM, Christiaan  
> Hofman<[email protected]> wrote:
>> Why? There is still a huge overlap between 10.4 and 10.6, it's  
>> really not
>> such a stretch to build an app or support framework for all three  
>> major
>> versions. In particular for frameworks, and those typically should  
>> be as
>> versatile as possible.
>
> The proper way to do it is by either building on 10.6 against the 10.6
> SDK with a deployment target of 10.4, or building on 10.4 against the
> 10.4 SDK.  Otherwise you depend on the API never, ever changing.
> That's an unreasonable expectation.

But doing so may change behavior (see your own remark below), and  
moreover leads to a lot of warnings due to use of methods that were  
deprecated on 10.6.

>
>> And quite frankly, I even still require some deprecated methods  
>> from 10.4
>> even on 10.6, because Apple simply did not give a proper  
>> replacement (due to
>> serious bugs and shortcomings in the API that replaced it).  But  
>> that's a
>> different story.
>
> You should, however, be able to depend on behavior not changing when
> you've built an app against a certain SDK.  Any case where that isn't
> true is a bug, and you should file a Radar.  That includes when
> methods are deprecated in the 10.5 SDK but you're building on 10.4 --
> a situation which has bitten us quite frequently.
>
> --Kyle Sluder

And here you give another reason to use an older SDK, because using a  
newer one may change the behavior.

Apart from that, this problem is not about change of behavior, but  
rather functionality that is not (properly) supported by new API.  
Several bugs were already long filed  for 10.5, and they still exist  
in 10.6.

Moreover, I sometimes want to build with a different SDK for debugging  
purposes (good to find deprecated methods or methods that were not  
supported on older OSs). In particular Xcode 3.2 makes that very easy.

Christiaan
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.