Приложение для взломанного iOS-устройства: согласованная работа в фоновом режиме

Я являюсь автором твика Cydia под названием AirFloat. Приложение, которое реализует аудио-протокол AirPlay (ранее известный как AirTunes), позволяя передавать потоковое аудиов ваше устройство iOS. AirFloat изначально был приложением App Store, пока Apple не загрузил его из App Store.I '

Мы сделали это доступным бесплатно в Cydia. В настоящее время приложение находится в Cydia точно так же, как и предыдущая версия App Store. В результате этого я получаю много запросов, чтобы он работал в фоновом режиме. Но я не могу заставить его работать.

В основном я думаю о двух подходах.

Примечание. AirFloat отображает текущую воспроизводимую дорожку на экране блокировки iOS.

Создайте демон, который запускает реальную реализацию AirPlay и взаимодействует с приложением пользовательского интерфейса, используяпоставить в известность, Это работает. Вид. Он запускает и воспроизводит аудио, но MPNowPlayingInfoCenter, по-видимому, не может быть обновлен из приложения без пользовательского интерфейса. Также, когда демон работает как пользовательмобильный.

Второй подход - просто заставить все это работать в приложении с пользовательским интерфейсом. Но я испытываю затруднения, не заставляя это быть приостановленным. Я'установить "Требуемые режимы фона » ваудио а такженепрерывный, Сервер все еще может работать, но тогда реклама Bonjour отключается, потому что цикл выполнения останавливается в фоновом режиме. Во-вторых, приложение должно запускаться автоматически с помощью SpringBoard и перезапускаться при аварийном выходе.

Лично я предпочитаю второй подход, потому что я бы избегал межпроцессного взаимодействия. И чтобы этот подход работал, мне потребовалось бы полное фоновое выполнение (включая циклы выполнения), чтобы оно запускалось при запуске SpringBoard и перезапускалось при аварийном выходе.

Кто-нибудь есть какие-либо предложения о том, как решить эту проблему?

Ответы на вопрос(2)

Ваш ответ на вопрос