Запуск приложения iPhone с функцией 3.0 на устройстве 2.2.1 - PullRequest
3 голосов
/ 14 января 2010

Меня попросили добавить в приложение функцию 3.0 (Media Picker).

Но это приложение должно продолжать работать на устройстве 2.2.1. (С отключенной функцией)

Как мне скомпилировать это так, чтобы оно работало на 2.2.1, без получения ошибки компилятора, для включения функции 3.0?

В соответствии с инструкциями в примере с MailComposer я установил целевую настройку на 2.2.1, а базовый SDK на 3.1.2.

Я смотрел на слабые ссылки, но это, очевидно, только для шага компоновщика и ничего не делает с ошибками компилятора.

Ответы [ 2 ]

3 голосов
/ 14 января 2010

Чтобы обойти ошибки компилятора, просто объявите функции C как внешние (функции Objective C будут выдавать предупреждение, но ошибок компилятора не будет). Ошибки компоновщика могут быть исправлены слабым связыванием, поскольку вы отключили.

0 голосов
/ 14 января 2010

Что я обычно делаю, это копирую определение класса, который мне нужен, используя только те методы, которые мне нужны, из 3.0 SDK, в мой проект, затем я вызываю эти методы, как будто ничего не произошло. Единственная сложная часть - создание экземпляра, для этого используйте это:

MyCopiedClass object = [[NSClassFromString(@"MyCopiedClass") alloc] init];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...