Для всех, кто ищет ответ на вторую часть этого вопроса (как найти местоположение для числа), есть аналогичный вопрос (достаточно интересно заданный за один день до этого) с несколькими ответами здесь:
Телефонный код города для названия города на iOS
Я также обнаружил базу данных SQLite с именем calldata.db
в частной структуре AppSupport.framework
, которая содержит города США, штаты и коды городов,а также префиксы (три цифры, которые идут после кода города).
Используя такой запрос, вы можете узнать, что код города 212 - это Нью-Йорк, Нью-Йорк:
SELECT * FROM citycode, npanxx, npa
WHERE npanxx.npa = 212
AND citycode.code = npanxx.rate_center
AND npanxx.npa = npa.npa
Однако я не знаю, нарушит ли доступ к этой базе данных какие-либо соглашения с Apple (я знаю, что файл Default.phoneformat
из AppSupport.framework
был упакован с несколькими приложениями, у которых не было проблем с входом в App Store, см. Комментарииздесь: https://stackoverflow.com/a/13116227/381233). Возможно, в AppSupport.framework
есть какие-то методы, которые облегчили бы получение этой информации, но это определенно было бы недопустимо вв магазине приложений.
Что касается другой части этого вопроса (доступ к деталям входящего вызова), это, скорее всего, было бы возможно на взломанном телефоне.Без сомнения, в Cydia уже есть твик, который это делает.