2013-12-09 5 views
9

Я хочу программно включить/выключить режим полета в iOS. После того, как прибегая к помощи, я получил некоторые из следующих ссылок, а вслед за ними,Переключить режим AirPlane в iOS Programmatically

Reachability airplane mode (3G) vs. Wifi

Using Private Framework: Importing RadioPreferences.h

Detect if iPhone is in Airplane mode?

Все ссылки выше, скажите мне использовать AppSupport.framework и используя RadiosPreferences .час. Это дает мне статус, включен или выключен режим AirPlane, но он не заставляет меня менять режим самолета.

Затем я увидел эту ссылку, How to turn on/off airplane mode in IOS 5.1 using private API, которая дает мне возможность переключиться на режим полета, но она использует права, которые работают только на устройствах с взломом. Есть ли способ, чтобы установить режим самолета программно (можно использовать частные API, но не права).

+3

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

+0

Я просто хочу сделать приложение, которое просто переносит мое устройство в режим самолета автоматически в течение некоторого периода времени, например. когда я вхожу в офис/рабочее место, и он должен автоматически активировать режим самолета, и он отключится, когда я покину свой офис ... –

+1

Я * думаю *, что вы могли бы достичь, показывает уведомление, которое направляет пользователь (например, нажав кнопку) в настройке самолета, а затем пользователю все равно придется вручную изменить настройку. Очевидно, вы можете использовать Siri, чтобы открыть экран настроек самолета: http://forums.imore.com/siri/223832-use-siri-access-system-preferences.html –

ответ

3

В каждом приложении App Store есть песочница с правами.

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

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

+5

Как я уже сказал, я хочу использовать частный API, что, очевидно, означает, что я не хочу помещать его в App Store, поэтому не нужно отказываться. –

+0

Я смотрел это видео, которое один из людей говорит, что приложение разрешено включать/выключать режим полета, и он использует IOS: https://www.youtube.com/watch?v=ZcjtEKNP05c. Это подделка или что-то еще? –

-2

Если вам не нравится представление AppStore и если ваше устройство заблокировано (до iOS 7.0.4 являются джейлбрейками), вы можете выполнить эти шаги в точном порядке, чтобы программно включить или выключить режим полета. Я также прилагаю образец проекта, чтобы упростить ситуацию.

  1. Скачать (https://iosopendev.googlecode.com/files/iOSOpenDev-1.6-2.pkg) и установить. Это позволит установить необходимые инструменты для непосредственной установки приложения в том месте, где расположены приложения Apple. Это необходимо, чтобы у вас был правильный доступ и разрешение.

  2. Установите OpenSSH на свое устройство с помощью Cydia. Затем следуйте этому руководству: (http://www.priyaontech.com/2012/01/ssh-into-your-jailbroken-idevice-without-a-password/), чтобы включить доступ без пароля (с использованием ключа SSH).

  3. Загрузить образец проекта, который я создал здесь: (https://www.dropbox.com/s/c0i76vmtfckvsut/ToggleAirplane.zip) Этот проект использует те же права, что и приложение SpringBoard (приложение, которое управляет домашним экраном) Apple. Таким образом, у вас будет доступ к каждой настройке. Вам нужно будет только знать, как назвать это программно.

  4. В настройках сборки перейдите в раздел «Пользовательские настройки» и отредактируйте значение для ключа iOSOpenDevDevice на IP-адрес вашего устройства.

  5. Теперь самая удивительная часть. Нажмите Command + Shift + I. Это установит и перезагрузит ваше устройство.

  6. Однако вы не можете увидеть приложение. Чтобы увидеть его, загрузите приложение Respring из Cydia. Когда вы запустите его, он перезагрузит устройство. Вы должны увидеть приложение «ToggleAirplane» на главном экране.

Примечание: вы не сможете удалить его с домашнего экрана так же, как вы не можете делать с приложениями Apple. Чтобы удалить его, вам нужно будет перейти в Cydia-> Packages. Прекратите приложение и удалите его.

+0

Я не хочу идти с динамическими библиотеками, я уже знаю этот путь и уже сделал, но, как я четко упомянул в своем вопросе (последняя строка), что я не хочу идти с jailbroken решением, я могу использовать частные фреймворки –

+1

Я знаю это старый ответ, но мне было интересно, можете ли вы повторно загрузить проект образца ToggleAirplane. Благодаря! –

+1

Пожалуйста, не отвечайте на вопросы здесь, не предоставляя ключевые элементы ответа ** в своем сообщении **. Вы предоставили решение, связанное с проектом Dropbox, который больше не существует в этой ссылке. Это делает этот ответ бесполезным. – Nate