Каков наилучший способ использования функций iPhone 3.0 при сохранении совместимости с более ранними версиями?

StackOverflow https://stackoverflow.com/questions/1034348

  •  06-07-2019
  •  | 
  •  

Вопрос

Например, предположим, что я написал свой собственный класс, который позволял мне записывать аудио на iPhone. iPhone OS 3.0 теперь предоставляет эту функциональность как часть Cocoa Touch Framework.

Как я могу использовать свой существующий класс для поддержки iPhone OS версии 2.2.1 и более ранних, но в то же время использовать новый класс, предоставляемый Cocoa Touch Framework для поддержки iPhone OS 3.0?

Это было полезно?

Решение

Поскольку Objective-C является очень динамичным языком, вы можете настроить таргетинг на 2.x и запросить наличие функций 3.0:

id pasteboard = [objc_getClass("UIPasteboard") generalPasteboard];
if (pasteboard) {
    NSLog(@"Got pasteboard, we're clearly on 3.0+");
} else {
    NSLog(@"Pasteboard not available, definitely 2.x");
}

Другие советы

Платформа iPhone имеет самую высокую скорость обновления среди всех мобильных ОС, поэтому я не стал бы беспокоиться об обратной совместимости. Перейдите к API OS 3.0 и сконцентрируйтесь на других полезных вещах с вашим приложением.

Если людям нужно ваше приложение, и у них есть 2.2.1 - все, что им нужно сделать, это обновить - и iPhone OS также является самой простой ОС для обновления.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top