Создание обратно совместимого приложения OS X, когда появится новый API?

я пытаюсь обновить приложение (Кларк) обеспечить совместимость 10.6.

Я планирую использовать два разных пути кода в зависимости от используемой версии OSX.

На 10.5 он будет использовать один контроллер, который состоит из полностью нестандартного кода, который независит от какого-либо конкретного API Какао. На 10.6 он будет использовать другой контроллер, который упаковывает новый API CoreLocation в идентичный интерфейс, основанный на том же абстрактном классе. Во время выполнения приложение будет переключаться между контроллерами, определяя версию ОС.

Это прекрасно работает на 10.6, построенной для 10.6 SDK, но та же самая сборка взорвалась на 10.5 с:

10/09/2009 18:30:50 [0x0-0x12f12f].uk.co.tomtaylor.Clarke[4575] dyld: unknown required load command 0x80000022 
10/09/2009 18:30:51 com.apple.launchd[403] ([0x0-0x12f12f].uk.co.tomtaylor.Clarke[4575]) Exited abnormally: Trace/BPT trap 

Если я соберу 10,5 SDK, то смогуочевидно, я не могу скомпилировать материал CoreLocation.

Я надеялся, что смогу предоставить один двоичный файл для этого приложения. Есть ли способскрывать' CoreLocation API от 10.5?

Ответы на вопрос(2)

Ваш ответ на вопрос