input methode support on leopard 10.5

Discussion in 'Mac Programming' started by pallavi0703, May 27, 2008.

  1. pallavi0703 macrumors newbie


    Dec 12, 2007
    Hello All ,
    I am building input methode component on Mac OS X 10.4 using Xcode 2.2 .
    If I build this component using build setting as :
    Cross development using Target SDK Mac OS X 10.4(Universal),
    SDK path : /Developer/SDKs/MacOSX10.4u.sdk
    will it work on Leopard 10.5.
    To support my input methode on Leopard 10.5 how should I build the component.Is it necessary to set sdk to mac os x 10.5 or it will work with setting set to mac
    Please Reply.
  2. Krevnik macrumors 68040


    Sep 8, 2003
    Just continue targetting the 10.4 Universal SDK. As long as the input method APIs haven't changed, it should work on 10.5 as-is.

    The SDKs are meant to let you target a particular OS and have some degree of confidence that you haven't used APIs that aren't on that version. It doesn't mean it will only work on that OS version.
  3. pallavi0703 thread starter macrumors newbie


    Dec 12, 2007
    input methode support on leopard 10.5

    Thanks Krevnik .
    Your suggesion really helps me.
    Thanks & Regards,
  4. MongoTheGeek macrumors 68040


    Sep 13, 2003
    Its not so much where you are as when you are.
    Any API in 10.4 should work in 10.5. API's that were deprecated in 10.4 should still work in 10.5 but won't be available to build against.

    Apple has a 3 step API elimination strategy.

    1) Mark it as deprecated
    2) Delete it from the SDK's, but leave it in the system objects
    3) Delete it from the system objects.

    Lets say there was a method of NSString -igPayatinLay.(describing the functionality is left as an exercise to the reader) It was introduced in 10.0.

    When 10.1 gets released Apple decided it was stupid and that everyone should replace it with NSString -expressAs: and use the (NSIgPayatinLayExpression, NSOMGValSpeakExpression, or NSBorkBorkBorkExpression flags) NSString -igPayatinLay is marked as deprecated but can still be used. The compiler will bitch but it compiles and runs.

    When 10.2 rolls out, there is no NSString -igPayatinLay in the header files. The program will not compile. You will get warnings saying NSString may not respond to -igPayatinLay. An old binary will run though. It is not guaranteed though. Apple warned you at 10.1. This is going away. Every instance that I know of it still works here though.

    When 10.3 is delivered the programs stop working. They crash with dyld errors.

    I really should add igPayatinLay to NSString in a category.

Share This Page