• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: compiling app for 10.6 and 10.7
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: compiling app for 10.6 and 10.7


  • Subject: Re: compiling app for 10.6 and 10.7
  • From: Martin Hewitson <email@hidden>
  • Date: Mon, 15 Aug 2011 20:34:25 +0200

OK, problem solved, sort of. Using NSClassFromString makes it work on both systems. I think I prefer this solution rather than hacking the headers.

Many thanks to all who helped!

Martin

On Aug 15, 2011, at 08:31 PM, Greg Parker wrote:

> On Aug 15, 2011, at 10:50 AM, David Duncan wrote:
>> On Aug 15, 2011, at 10:47 AM, Kyle Sluder wrote:
>>> On Mon, Aug 15, 2011 at 10:45 AM, David Duncan <email@hidden> wrote:
>>>> In either case, the best general way to determine availability of weak-linked implementations is to test for them directly rather than using a system version check (like gestalt). If your using Clang (which I suspect you are not given your error) you could just use:
>>>>
>>>> "if ([NSPopover class]) { /* do stuff with popovers */ } else { /* do stuff without */ }"
>>>
>>> Is it the case that this check will only work on 10.6.8 or newer, and
>>> that one should fall back on NSClassFromString() if supporting an
>>> older version of Snow Leopard?
>>
>> I'd actually forgotten that this required 10.6.8. If you can require 10.6.8, I would use the new style universally. If you cannot I would use the NSClassFromString style until you can.
>
> There's a bug here. The Objective-C runtime on 10.6.8 supports weak-linked classes, but the NS_CLASS_AVAILABLE macro does not know that.
>
> You can fix this if you are willing to hack your SDK headers. In Foundation/NSObjCRuntime.h, find the macro definition of NS_CLASS_AVAILABLE, and remove the check for __MAC_OS_X_VERSION_MIN_REQUIRED >= __MAC_10_7.
>
>
> --
> Greg Parker     email@hidden     Runtime Wrangler
>
>
> _______________________________________________
>
> 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

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Martin Hewitson
Albert-Einstein-Institut
Max-Planck-Institut fuer
    Gravitationsphysik und Universitaet Hannover
Callinstr. 38, 30167 Hannover, Germany
Tel: +49-511-762-17121, Fax: +49-511-762-5861
E-Mail: email@hidden
WWW: http://www.aei.mpg.de/~hewitson
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~





_______________________________________________

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

References: 
 >compiling app for 10.6 and 10.7 (From: Martin Hewitson <email@hidden>)
 >Re: compiling app for 10.6 and 10.7 (From: David Duncan <email@hidden>)
 >Re: compiling app for 10.6 and 10.7 (From: Kyle Sluder <email@hidden>)
 >Re: compiling app for 10.6 and 10.7 (From: David Duncan <email@hidden>)
 >Re: compiling app for 10.6 and 10.7 (From: Greg Parker <email@hidden>)

  • Prev by Date: Re: compiling app for 10.6 and 10.7
  • Next by Date: Re: compiling app for 10.6 and 10.7
  • Previous by thread: Re: compiling app for 10.6 and 10.7
  • Next by thread: Re: compiling app for 10.6 and 10.7
  • Index(es):
    • Date
    • Thread