Есть ли способ получить собственный номер телефона с помощью стандартных API из iPhone SDK?
ios
iphone
phone-number
Вадим
источник
источник
Ответы:
Рискуя получить отрицательные оценки, я хочу предположить, что решение с самым высоким рейтингом (в настоящее время первый ответ) нарушает последнее Соглашение SDK от 5 ноября 2009 года. Наше приложение было отклонено для его использования. Вот ответ от Apple:
Это было настоящим разочарованием, так как мы хотели избавить пользователя от необходимости вводить свой номер телефона.
источник
Нет, нет законного и надежного способа сделать это.
Если вы найдете способ, он будет отключен в будущем, как это было с каждым методом раньше.
источник
Обновление: похоже, что возможность была удалена Apple на iOS 4 или вокруг нее
Просто чтобы расширить предыдущий ответ, что-то вроде этого делает это для меня:
Примечание . При этом извлекается «номер телефона», который был введен во время активации iTunes на iPhone, и может иметь нулевое или неправильное значение. Это не читается с SIM-карты.
По крайней мере, в 2.1. В NSUserDefaults есть пара других интересных ключей, которые также могут не сохраняться. (Это в моем приложении, которое использует UIWebView)
и так далее.
Не уверен, что делают другие.
источник
Используя Private API, вы можете получить номер телефона пользователя следующим образом:
Также включите CoreTelephony.framework в ваш проект.
источник
Как вы, наверное, все уже знаете, если вы используете следующую строку кода, ваше приложение будет отклонено Apple
вот ссылка
http://ayeapi.blogspot.com/2009/12/sbformatphonenumber-is-lie.html
Вы можете использовать следующую информацию вместо
и так далее
Надеюсь это поможет!
источник
[UIDevice identifierForVendor]
вместо этого.Нельзя использовать только API-интерфейсы iOS для захвата телефонного номера (даже в частном приложении с частными API-интерфейсами), поскольку все известные способы сделать это были исправлены и заблокированы начиная с iOS 11. Даже если обнаружен новый эксплойт, Apple сделала Ясно, что они будут отклонять любые приложения из магазина приложений для использования частных API для этого. Смотрите ответ @ Dylan для деталей.
Тем не менее, существует законный способ захвата номера телефона без ввода данных пользователя. . Это похоже на то, что делает Snapchat, но проще, так как не требует, чтобы пользователь вводил свой номер телефона.
Идея состоит в том, чтобы приложение программно отправляло SMS-сообщение на сервер с уникальным кодом установки приложения. Затем приложение может запросить тот же сервер, чтобы узнать, получило ли оно недавно SMS-сообщение с устройства с этим уникальным кодом установки приложения. Если это так, он может прочитать номер телефона, который его отправил. Вот демонстрационное видео, показывающее процесс. Как видите, это работает как шарм!
Это не очень просто настроить, но его можно настроить бесплатно за несколько часов на бесплатном уровне AWS с помощью примера кода, приведенного в руководстве здесь .
источник
Чтобы узнать свой номер телефона, вы можете прочитать файл plist. Это не будет работать на не взломанных iDevices:
Я не знаю, разрешит ли Apple это, но это работает на iPhone.
источник
Нет официального API для этого. Используя приватный API, вы можете использовать следующий метод:
Работает на iOS 6 без JB и специальной подписи.
Как упоминалось в Creker на iOS 7 с JB, вам нужно использовать права, чтобы он работал.
Как это сделать с правами, которые вы можете найти здесь: iOS 7: Как получить собственный номер через частный API?
источник
AppStore отклонит его, так как он выходит за пределы контейнера приложения.
Раздел 2.5.2: https://developer.apple.com/app-store/review/guidelines/#software-requirements
источник