iOS 7, iPhone, датчик приближения

Это короткий вопрос, но он мучил меня всю ночь. У меня есть несколько моих собственных приложений здесь (я пишу только Objective-C и использую ARC), где, если я пишу в appDelegate - application didFinishLaunching...:

[[UIDevice currentDevice] setProximityMonitoringEnabled:YES];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(proximityStateChanged:) name:UIDeviceProximityStateDidChangeNotification object:nil];

Я получаю совершенно нормальный ответ. Дисплей отключается, я получаю уведомление с измененным бесконтактным состоянием и т. Д.

Теперь у меня есть приложение, которое не мое, и я должен изменить его (у меня есть проект Xcode - исходные файлы). Я только должен реализовать некоторые изменения, основанные на близости. Я абсолютно не могу включить бесконтрольный мониторинг? Я делаю то же самое, что и в других приложениях, но он просто не вызывает уведомление и не меняет бесконтактное состояние. Самое большое отличие состоит в том, что appDelegate этого приложения -.mm - смешанный язык, но я действительно не думаю, что это должно быть проблемой.

Есть какой-то ГЛОБАЛЬНЫЙ способ отключить датчики или только датчик приближения? Может ли какой-либо сервис для записи звука или его воспроизведения отключить датчик приближения? Любая подсказка будет золотой! Я действительно не понимаю, что может помешать мне включить эту функцию. Приветствует всех.

2 ответа

Решение

Фуу!

ProximitySensor отключается, если приложение не поддерживает книжную ориентацию! Вы можете делать все, что захотите, но если Книжная ориентация не выбрана как Ориентация устройства, ProximitySensor не запустится!

Непонятно, о чем ты спрашиваешь. Когда вы говорите, что "у вас есть приложение, которое не мое", у вас есть исходный код, или вы хотите как-то его исправить?

Если у вас есть полный исходный код, вы сможете вставить те же вызовы, которые вы показывали выше, и заставить их работать. Вам нужно будет включить мониторинг близости, добавить наблюдателя, а затем добавить свой метод наблюдателя в класс, который вы добавили в качестве наблюдателя.

Я не думаю, что вам нужно установить флаг в файле info.plist, чтобы включить мониторинг близости, но я не уверен. Я только использовал это как эксперимент, и это было некоторое время назад.

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