Когда пользователь блокирует экран, приложение переходит в «неактивное» состояние .Это похоже на добавление вашего приложения в фоновый режим.Документация Apple гласит: «Приложение работает на переднем плане, но в настоящее время не получает события. (Возможно, он выполняет другой код.») *
Однако после перехода в неактивное состояние iPhone полностью переходит в спящий режим,если что-то не работает, чтобы сохранить его активным ... ожидание запуска NSTimer, по-видимому, не удовлетворяет этому критерию. В этом предыдущем вопросе есть обсуждение. По-видимому, одним из решений является воспроизведение вашего звука при срабатывании таймера, а между тем непрерывное воспроизведение тихого звука, чтобыпредотвратить iPhone от сна.Хак, но, по крайней мере, в этом случае не совсем уродливый хак, поскольку использование звука для того, чтобы iPhone оставался активным для воспроизведения звука, имеет вид симметрии.
Ранее связанный контент :
Из Руководства Apple по реализации длительных фоновых задач :
Воспроизведение фонового звука
Приложение, которое непрерывно воспроизводит звук(даже когда приложение работает в фоновом режиме) можно зарегистрировать приложение фонового звука, включив ключ UIBackgroundModes (со значением audio) в свой файл Info.plist.Приложения, содержащие этот ключ, должны воспроизводить звуковой контент для пользователя в фоновом режиме.
Реализуете ли вы это в своем приложении?Если нет, то это ваша проблема.
Относительно # 2: Вы можете обновить описание приложения, чтобы указать, что оно не работает с заблокированным экраном, но лучше было бы просто сделать так, чтобы оно работало какпользователь будет ожидать.:)