Ответ 1
Частичный успех - нет хороших вариантов
Имитатор iPhone выбирает текущий выбранный выход при запуске. Используя плагин Soundflower и отправляя аудио в никуда, я начал использовать iPhone Simulator. Если вы затем переключитесь на другой, рабочий, выход, симулятор останется "отключенным", пока вы не перезапустите симулятор. Таким образом, в общем, вы можете попытаться обмануть симулятор, чтобы вывести его на тупиковый выход.
Экспериментальная установка - образец видеопроигрывателя
Я работаю над решением этой проблемы, и в качестве первого шага был создан демонстрационный видеоплеер. Вы можете загрузить VideoPlayer из GitHub для своих собственных экспериментов.
Первая попытка. Используйте стороннее приложение, чтобы отключить его.
Пробовал использовать Audio Hijack Pro от Rogue Amoeba, чтобы захватить аудиопоток и отключить его. Это не сработало и сработало симулятор. Контактная поддержка, и они сообщили, что iPhone Simulator делает некоторые вещи, которые мешают им захватить аудио. Я также рассмотрел Soundflower и Jack.
Вторая попытка - отключить приложение
Я думал, может быть, вы можете сделать вариант отладки, когда в приложении и на симуляторе звук будет отключен. Однако в приложении только частные API-интерфейсы имеют возможность отключать или уменьшать объем для устройства. В книге iPhone Open Application Development Глава 6, Пример "Какой мой том" дает образец кода для управления общесистемным звуком через AVSystemController. быть интересным для изучения этого маршрута, но для превращения его в оружейный инструмент потребуются большие неприятности, поскольку вам нужно скомпилировать его с закрытыми заголовками.
Идея три
Найдите параметр командной строки, чтобы перейти к симулятору Springboard или iPhone, который отключит звук или снова включит регулятор громкости в симуляторе и, конечно же, сможет запустить отладчик.
Запрос на улучшение
Я подал отчет об ошибке Apple для улучшения управления громкостью iPhone Simulator, запросом 13428429 и для управления объемом приложения в Mac OS X, request 13428420. Если вам нужны эти функции, напишите свой собственный баг.