Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I've had this annoying problem on iOS too. It's actually even more annoying on iOS as the user has to sync their device with iTunes and enable crash report sending before the crash report gets sent unlike Mac OS X where you don't need to do all that. Recently, I managed to add a compile-time check for checking APIs against older versions of the SDK. I'll first explain how I did it for iOS first and then try and help you to adapt this technique for Mac OS X. I don't code much for Mac atm so I can only really guide you in the right direction from my experience with iOS but I'll test my suggestions later today once I get back from work and give a definite answer.</p> <hr> <p>So here's what I did for iOS:</p> <p>I first had to get the older <strong>Simulator</strong> SDK I wanted to get. I could easily get this by downloading older Xcode <strong>3</strong> (not 4) versions which included the SDK needed.</p> <p>I next had to install the SDK. This wasn't too hard, so I won't explain much here. But the SDKs are stored in the <code>Packages</code> folder. This folder is clearly visible in earlier Xcode 3 versions but is hidden in later versions. You can easily open it anyway through Terminal. Also, after the change in Xcode 4.3 where the <code>Developer</code> folder moved to within Xcode.app, so I had to install the SDK into a tmp folder and move the SDK into Xcode.app yourself. I would then need to restart Xcode if I had it open.</p> <p>After that, I duplicated my <code>debug</code> configuration in your project and named it, in my case, something like <code>iOS 4.3 API Check</code> or something like that - doesn't really matter. Then I changed the Base SDK of this new configuration to the old SDK which I installed. The SDK I installed was not listed though so I had to select <code>other</code> and enter, again in my case, <code>iphonesimulator4.3</code>.</p> <p>Finally, when I needed to check against older versions of the SDK, I changed the configuration for the <code>Run &lt;appname&gt;.app</code> in my project scheme to my <code>iOS 4.3 API Check</code> configuration. And there we go, a compile-time check against iOS 4.3.</p> <hr> <p>As for Mac OS X, I'm sure you can achieve the same goal with this same method. There isn't Simulators for the Mac SDK so I think the regular SDK will work for this. As for getting the older SDK, if you have Xcode 4.2 still installed (after Xcode 4.3 changed it so the <code>Developer</code> folder is within Xcode.app) then you should find the 10.6 SDK there. If you don't, I'd imagine that Apple has a similar thing to iOS where the SDK downloads are available in the Dev Center or somewhere on the internet...</p> <p>As for setting the Base SDK, if it's not listed then I think the name is <code>MacOSX10.6</code> or whatever version you are after.</p> <p>Everything else should be the same, but as mentioned earlier, I'll test this method later today and edit my answer to give a more definite answer but I would imagine this method would work for the Mac SDK.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload