Когда я запускаю этот код в симуляторе в отладчике или автономно
[UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]
он сообщает мне, что камера недоступна (возвращает НЕТ), как и ожидалось.
Однако, если я запустил тот же код в симуляторе в Performance Tool, он вернет ДА! Мой код (который отлично работает на устройстве) затем продолжает отображать изображение с камеры в симуляторе. Если я попытаюсь сделать снимок, я получаю консольное сообщение
photos can only be captured on HW
Это означает, что если я хочу профилировать свое приложение на симуляторе (было бы неплохо, если бы оно работало на устройстве !!), мне нужно изменить код, чтобы он отображал правильный вид (т.е. не камеру!) ).
Судя по поиску в Google, это не является широко известной проблемой. Кто-нибудь еще испытал это и / или нашел обходной путь?





Очевидный обходной путь - добавить
#if TARGET_IPHONE_SIMULATOR
Но это просто противно. Вся суть создания isSourceTypeAvailable в первую очередь состоит в том, чтобы избегать подобных вещей.