Хорошо, я разрабатываю приложения для iphone уже больше года,
но есть одна вещь, которая все еще действительно отстой.
Допустим, я хочу сделать мое приложение совместимым с iOS 3.0
Я установил в своей SDK новейшую доступную версию и установил цель развертывания 3.0
.
Но что произойдет, если вы случайно вызовете функцию, доступную только в ... 3.1.x или более поздней версии?
Правильно, просто вылетает.
Нет предупреждений или индикаторов о том, что функция доступна только в более поздней версии iOS. А поскольку эмулятор не поддерживает версии <4.0, невозможно проверить, действительно ли приложение работает. Вы даже не можете купить новое устройство, так как на них уже установлена более новая iOS.
И даже если у вас старое устройство, иногда почти невозможно проверить каждую часть вашего кода. </p>
И мне действительно нужно поддерживать более старые версии, поскольку я знаю, что мои клиенты (около 2/3) по-прежнему используют версии 3.x.
Нет ли ЛЮБОГО анализатора кода или чего-то такого, что сканирует доступность всех функций, вызываемых в приложении?
В одном случае приложение упало, потому что я позвонил
+ (id)sortDescriptorWithKey:(NSString *)key ascending:(BOOL)ascending
который является удобным методом для выделения +
- (id)initWithKey:(NSString *)key ascending:(BOOL)ascending;
(плюс он автоматически выпущен)
Но sortDescriptorWithKey доступен только в версии 4.0 @ _ @