Я работаю над iPhone-приложением, и мне очень хотелось бы определить, находится ли устройство в роуминге, чтобы я мог разумно избегать дорогостоящих подключений моих пользователей, если они находятся вне их домашней сети.
Приложение, которое я пишу, предназначено для jailbroken телефонов, однако я бы предпочел использовать стандартные SDK, если это возможно.
Вот что я уже нашел:
1. Apple SDK: В документации Apple я нашел обещание в API Apple SCNetworkReachability. API обеспечивает доступ к таким вещам, как ли вы в сети WIFI или сотовой сети, независимо от того, установлено ли сетевое соединение и т.д. Однако поиск в API-интерфейсе SCNetworkReachability API для "роуминга" или "роуминга" становится равным нулю. Так же их пример кода.
2. Греп Jailbroken iPhone FS: Вкладка "Настройки" → общая → сеть - это то, где пользователи могут включать или выключать свой роуминг. Глядя в файл plist для этого ( "/Applications/Preferences/Network.plist" ), я смог найти следующие ссылки:
PostNotification = "com.apple.commcenter.InternationalRoamingEDGE.changed";
cell = PSSwitchCell;
default = 1;
defaults = "com.apple.commcenter";
key = InternationalRoamingEDGE;
label = "EDGE_ROAMING_TOGGLE";
requiredCapabilities = (
telephony
);
Это, безусловно, лидерство, так как я могу зарегистрироваться для уведомлений о том, что пользователь изменил настройки InternationalRoaming. Тем не менее, я не уверен, как превратить это в знание того, что они на самом деле, в настоящее время роуминг.
3. Проверьте класс сбрасываемых источников SpringBoard: Я сбросил классы SpringBoard, используя class-dump. Мне не удалось найти ссылки на "роуминг" или "роуминг"
4. Очевидно, я начал с проверки на SO: Не удалось найти ничего связанного.
Дальнейшие шаги: есть ли у кого-нибудь совет? Я знаю, что это возможно. Очевидно, Apple явно затруднилась. Я очень сомневаюсь, что это возможно без использования частной структуры. (например, CoreTelephony). Поскольку это взломанное приложение, я могу прибегнуть к экранированию имени оператора с помощью введенного кода в SpringBoard, но я бы предпочел не идти по этому маршруту. Любые советы очень ценятся. Спасибо.