Программно получите собственный номер телефона в iOS

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

327
задан Midhun MP 17 December 2014 в 23:14
поделиться

4 ответа

Риск получения отрицательных оценок, я хочу предложить решение с наивысшим рейтингом (в настоящее время первый ответ) нарушает последнее соглашение о SDK от 5 ноября 2009 г. Наше приложение только что было отклонено за его использование. Вот ответ Apple:

«По соображениям безопасности iPhone OS ограничивает приложение (включая его настройки и данные) уникальным местоположением в файловой системе. Это ограничение является частью функции безопасности, известной как« песочница »приложения. «Песочница - это набор детализированных элементов управления, ограничивающих доступ приложения к файлам, настройкам, сетевым ресурсам, оборудованию и т. Д.»

Номер телефона устройства недоступен в контейнере вашего приложения.
312
ответ дан 23 November 2019 в 00:49
поделиться

Нет, нет никакого легального и надежного способа сделать это.

при нахождении пути он будет отключен в будущем, как это произошло с каждым методом прежде.

138
ответ дан BlackTigerX 23 November 2019 в 00:49
поделиться

Обновление: возможность, кажется, была удалена Apple на или около <часа> iOS 4

Только, чтобы подробно остановиться на более раннем ответе, что-то вроде этого делает это для меня:

NSString *num = [[NSUserDefaults standardUserDefaults] stringForKey:@"SBFormattedPhoneNumber"];

Примечание : Это получает "Номер телефона", который был введен во время активации iTunes iPhone и может быть пустым или неправильное значение. Это НЕ чтение с SIM-карты.

, По крайней мере, который делает в 2,1. Существует несколько других интересных ключей в NSUserDefaults, который не может также продлиться. (Это находится в моем приложении, которое использует UIWebView)

WebKitJavaScriptCanOpenWindowsAutomatically
NSInterfaceStyle
TVOutStatus
WebKitDeveloperExtrasEnabledPreferenceKey

и так далее.

Не уверенный, что, во всяком случае, другие делают.

86
ответ дан 5 revs, 5 users 64% 23 November 2019 в 00:49
поделиться

Как вы, наверное, уже знаете, если вы воспользуетесь следующей строкой кода, ваше приложение будет отклонено Apple

NSString *num = [[NSUserDefaults standardUserDefaults] stringForKey:@"SBFormattedPhoneNumber"];

вот ссылка

http://ayeapi.blogspot.com/2009/12/sbformatphonenumber -is-lie.html

вместо этого вы можете использовать следующую информацию

NSString *phoneName = [[UIDevice currentDevice] name];

NSString *phoneUniqueIdentifier = [[UIDevice currentDevice] uniqueIdentifier];

и т. д.

@property(nonatomic,readonly,retain) NSString    *name;              // e.g. "My iPhone"
@property(nonatomic,readonly,retain) NSString    *model;             // e.g. @"iPhone", @"iPod Touch"
@property(nonatomic,readonly,retain) NSString    *localizedModel;    // localized version of model
@property(nonatomic,readonly,retain) NSString    *systemName;        // e.g. @"iPhone OS"
@property(nonatomic,readonly,retain) NSString    *systemVersion;     // e.g. @"2.0"
@property(nonatomic,readonly) UIDeviceOrientation orientation;       // return current device orientation
@property(nonatomic,readonly,retain) NSString    *uniqueIdentifier;  // a string unique to each device based on various hardware info.

Надеюсь, это поможет!

22
ответ дан 23 November 2019 в 00:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: