Рингтон по умолчанию в приложении VOIP в iOS

Я пытаюсь найти способ использовать рингтон по умолчанию для входящего вызова на устройстве iPhone.

В настоящее время я использую AVAudioplayer, т.е.

NSURL *url=[NSURL URLWithString:@"CustomSound"];
AVAudioPlayer *aplayer=[[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];
aplayer.numberOfLoops=-1;
[aplayer play]

Можно ли найти звук рингтона по умолчанию для пользователя и воспроизвести его?

Спасибо

1 ответ

Рекомендуемый способ - использовать CallKit. Тогда ваше приложение VoIP получит множество вещей "бесплатно". Когда вы вводите входящий вызов с помощью CallKit, iOS автоматически воспроизводит правильный рингтон.

https://developer.apple.com/documentation/callkit

Для этого нет публичного API, об этом спрашивали на SO в 2012 году, но сегодня это все еще верно

см.: Как программно воспроизводить рингтон по умолчанию для телефона?


с недокументированными значениями перечисления AudioServicesPlaySystemSound может это сделать, но это НЕ действительно безопасно для магазина приложений.

см.: Воспроизведение звукового сигнала (аналогично мелодии сообщения по умолчанию)


совет:

возможно использовать AudioServicesPlaySystemSound as: Звук воспроизводится при текущей громкости звука системы, без программного управления громкостью

Другие вопросы по тегам