Ответ 1
У вас есть два SDK, установленных в вашем Xcode: для iOS 6 и iOS 7. Теперь, когда это произойдет, если вы подключаете устройство iOS 7, оно отображается как два устройства (например, опции) в селекторе устройств: первая строка для iPad 3 (iOS 6), второй для iPad 3 (iOS 7).
Проблема с вашей ошибкой заключается в том, что при выборе iPad 3 (iOS 6) Xcode все равно читает устройство как iOS 7 (и то, что он установил, так или иначе), поэтому при его создании он передает код [tabbedBar respondsToSelector: @selector(barTintColor)]
(он отвечает на селектор, потому что он iOS 7), но потому, что вы создаете для iOS 6, в то же время он вызывает ошибку: "потому что hey, iOS 6 не имеет этого метода! Fun.
В принципе, вы не можете использовать параметр iOS 6 при тестировании на устройстве iOS 7. Вам либо требуется устройство iOS 6, либо вы застряли с симулятором для тестирования старых версий.
EDIT: вы можете проверить, что я говорю, следующим образом - вместо использования respondsToSelector:
используйте
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0f) {
// code
}
а затем выберите первое устройство в списке (iPad 3 iOS 6). Вы увидите, что вы проходите через предложение if
, но Xcode дает вам ошибку, что селектор недоступен на iOS 6.