Я делаю приложение для будильника с поддержкой многозадачности. Тем не менее, я застрял с некоторыми ограничениями в sdk.
Мне нужно воспроизвести выбранный звуковой сигнал, когда время тревоги приходит с некоторыми свойствами, заданными пользователем. Эти свойства: - Звук тревоги может быть музыкой из пользовательской библиотеки iPod, а также некоторыми звуковыми файлами в комплекте приложений. - Звук будильника можно настроить как прогрессивный.
Кроме того, звук будильника должен воспроизводиться в фоновом режиме в цикле, пока пользователь не отменяет или не просыпает приложение.
Первая логическая вещь, которая пришла мне в голову, заключалась в использовании локальных уведомлений, но с локальными уведомлениями вы можете воспроизводить звуковые файлы, которые находятся только в комплекте приложений (а не в музыке iPod) и длительностью не более 30 секунд. Также вы не получите уведомление, когда пользователь отменяет уведомление, iOS просто перестает воспроизводить звук.
Теперь я подумываю использовать фоновый режим воспроизведения звука и играть молчание до времени будильника, а затем воспроизводить звуковой сигнал, одновременно отображая локальное уведомление без звука. Но опять же, как я узнаю, отменяет ли пользователь уведомление о локальном уведомлении и прекращает воспроизведение аудио. Однако, согласно документации Apple, воспроизведение музыки iPod (и использование общих ресурсов) по-прежнему не разрешено для приложения, воспроизводящего фоновый звук.
Я также не понимаю, как некоторые другие приложения выполняют некоторые из этих функций. Например, Night Stand HD может воспроизводить музыку iPod в фоновом режиме, а приложение под названием "Progressive Alarm Clock" может воспроизводить прогрессивный звук в фоновом режиме.
Любые идеи и предложения по этим вопросам? Любая из вашей помощи будет с благодарностью