Я создал приложение для Android, которое отслеживает потребление пользователем: отправленные/полученные SMS, входящие/исходящие вызовы, количество байтов данных, отправленных/полученных через мобильный интернет и WiFi/LAN, а также состояние сетевого роуминга во время любой из этих транзакций. Мой клиент использует эту информацию, чтобы сопоставить пользователя с лучшим мобильным планом в соответствии с его/ее данными об использовании. Теперь меня просят создать версию приложения для iOS, но, поскольку я новичок в разработке для iPhone, я даже не уверен, возможно ли это. Итак, мои вопросы...
Можно ли определить, когда пользователь отправляет или получает SMS? Мне нужно иметь возможность регистрировать время, когда они были отправлены или получены, исходящие и целевые мобильные номера, состояние сетевого роуминга и количество символов в SMS. Похоже, что это невозможно из моего текущего исследования (iOS SDK позволяет отправлять только SMS-сообщения), но ответы, которые я читал, были получены примерно 2 года назад.
Можно ли определить входящие/исходящие вызовы? Мне нужно иметь возможность регистрировать время, когда звонок начался, когда на звонок ответили и когда он закончился. Из того, что я прочитал, есть класс
CTCallCenter
, но не похоже, что я могу использовать его, когда мое приложение находится в фоновом режиме. Мне нужно что-то более похожее на AndroidBroadcastReceiver
, которое запускает общесистемное событие, которое я могу перехватить, когда поступает или делается вызов.Можно ли получить количество отправленных/полученных байт через мобильный интерфейс (3G, 4G) и через сетевой интерфейс (WiFi)? Единственная документация, которую я нашел, это это, но это не имеет никакого смысла мне.
Можно ли получить состояние сетевого роуминга во время любой из этих транзакций? Я обнаружил, что это возможно, но только если я сделаю джейлбрейк телефона. Проблема в том, что мне нужно иметь возможность делать все вышеперечисленное без джейлбрейка iPhone.
Помощь? Спасибо.