Cocoa: Ensuring Backwards Compatibility

Discussion in 'Mac Programming' started by Soulstorm, Jan 7, 2008.

  1. Soulstorm macrumors 68000

    Soulstorm

    Joined:
    Feb 1, 2005
    #1
    I have a project in XCode 3.0 which I want to make it available to systems from 10.4 and above. Since I am developing on Leopard, how can I check what functions from my program require 10.5 and what functions do not?

    I am telling this because my program crashes on Tiger, but not on Leopard, and I can't find out why. No error is displayed.
     
  2. HiRez macrumors 603

    HiRez

    Joined:
    Jan 6, 2004
    Location:
    Western US
    #2
    You can try setting a specific target when you build and the compiler may come up with some warnings. Check your Nib files. Select Compatibility Checking... from the File menu in Interface Builder and it will look for incompatibilities.

    Also make sure your crashes aren't related to something else, for example if Leopard is running on an Intel machine, and Tiger is running on a PowerPC. Are you testing on the same machine? Remember you can't do a build with Zero-Link enabled on one machine and run it on a differnt machine too.
     
  3. kainjow Moderator emeritus

    kainjow

    Joined:
    Jun 15, 2000
    #3
    If you're developing for 10.4, then set your project to use the MacOSX10.4u.sdk file instead of MacOSX10.5.sdk - it will give you warnings/errors when you're trying to use 10.5 features.
     
  4. Eraserhead macrumors G4

    Eraserhead

    Joined:
    Nov 3, 2005
    Location:
    UK
    #4
    In the documentation it says what the minimum OS target for a function is.
     
  5. caveman_uk Guest

    caveman_uk

    Joined:
    Feb 17, 2003
    Location:
    Hitchin, Herts, UK
    #5
    I've found some incompatibilities between versions of the OS when testing my application BeerAlchemy. In one case, the release version of the app used a method that worked fine on Tiger (and on the earlier developer builds of Leopard) but crashed on the last dev build and the release version of Leopard. More recently I've had problems because I started using the new .xib format in IB3. Although these are supposed to generate Tiger compatible nibs, I've had to go back to using IB2 as nibs that worked on Leopard sometimes were broken on Tiger.
     
  6. kainjow Moderator emeritus

    kainjow

    Joined:
    Jun 15, 2000
    #6
    I too have started using xibs and haven't noticed any compatibility issues with Tiger, but then again I haven't done extensive testing either.
     
  7. Eraserhead macrumors G4

    Eraserhead

    Joined:
    Nov 3, 2005
    Location:
    UK
    #7
    I've made sure I'm creating IB 2.x .nibs in IB 3.0 that appears to be working fine.
     
  8. caveman_uk Guest

    caveman_uk

    Joined:
    Feb 17, 2003
    Location:
    Hitchin, Herts, UK
    #8
    You've not used NSSearchField in a nib then... ;)
     

Share This Page