Класс AVCaptureDevice
не реализован в симуляторе (по крайней мере, на момент написания этой статьи, возможно, он изменится в будущем).
Попробуйте, например,
NSLog(@"%@", [AVCaptureDevice devices]);
, который будетсоздайте пустой список на симуляторе (но в нем будут перечислены все устройства захвата, если они скомпилированы и запущены на реальном iDevice).
Этот вид функциональности в любом случае должен быть протестирован на реальном устройстве (из-за зависимости деталей оборудования)(например, задержки и поддерживаемые форматы), поэтому для целей тестирования не так важно иметь поддержку устройства в симуляторе.Но было бы неплохо иметь его для демонстрационных целей.
Чтобы демо-версия работала на симуляторе, возможно, вы можете смоделировать ввод ввода.Если вы действительно хотите потратить некоторое время на это, возможно, вы можете использовать AVAudioRecorder
для симулятора (я никогда не использовал AVAudioRecorder, поэтому я не могу сказать, работает ли он на симуляторе, но по вашему вопросу)Я читал, что это делает).