• 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: Base SDK and deployment target Q
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Base SDK and deployment target Q


  • Subject: Re: Base SDK and deployment target Q
  • From: Steve Christensen <email@hidden>
  • Date: Sun, 28 Jun 2009 07:36:08 -0700

Building against the 10.4 SDK should root out any 10.5-only method calls or classes at -compile- time, giving you an opportunity to check that you're doing the appropriate runtime check before using them. It will not particularly help you at runtime. And as I recall, those method calls show up as warnings ("class Foo may not respond to bar:").

steve


On Jun 27, 2009, at 6:50 PM, Lorenzo Thurman wrote:

Thanks for your reply. I wasn't sure that switching the SDK would be good enough to test. My 10.4 box died a couple of weeks ago, so I have to have someone else run the app under 10.4. It's kind of a pain, but if I can just switch the SDK and run it under Leopard, that's fine.
Thanks again.


On Sat, Jun 27, 2009 at 8:42 PM, Steve Christensen <email@hidden> wrote:

I don't believe such a switch exists since it's not really a compiler issue: using a 10.5+ method is completely legal for your configuration. A quick way to check what 10.5 methods you're using would be to set the SDK to 10.4 temporarily and see what errors you get. You can then make sure you're doing the appropriate runtime checks.

steve

On Jun 27, 2009, at 6:34 PM, Lorenzo Thurman wrote:

I have a program which needs to run under 10.4, but I used a method that
is only defined for 10.5. No biggie, it was easy enough to replace it
with something that works for 10.4. The problem is that I didn't find
this out until I ran the app under 10.4. My apps deployment target is
set to 10.4, and the base SDK is set for 10.5. My question is:
If I inadvertently use a 10.5 only method, is there a way for me to be
warned at compile time? I know I can use define's to use what's
appropriate for a given target, but what if I overlook the fact that a
method is only for 10.5? is there a compiler switch or something that I
can enable to tell me this?
_______________________________________________

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: 
 >Base SDK and deployment target Q (From: Lorenzo Thurman <email@hidden>)
 >Re: Base SDK and deployment target Q (From: Steve Christensen <email@hidden>)
 >Re: Base SDK and deployment target Q (From: Lorenzo Thurman <email@hidden>)

  • Prev by Date: [ANN] CocoaREST - Cocoa library for RESTful services
  • Next by Date: Re: Dispose patern (was: Re: GC pros and cons)
  • Previous by thread: Re: Base SDK and deployment target Q
  • Next by thread: Re: Serial device open(2) hang.
  • Index(es):
    • Date
    • Thread