【问题标题】:Get the device's phone number programmatically [duplicate]以编程方式获取设备的电话号码[重复]
【发布时间】:2011-06-06 08:39:07
【问题描述】:

我需要以编程方式获取我的 iOS 设备的电话号码。

通过谷歌我找到了这段代码:

NSString *num = [[NSUserDefaults standardUserDefaults] stringForKey:@"SBFormattedPhoneNumber"];
NSLog(@"Phone Number: %@", num);

但我在某处读到,如果我使用此代码,Apple 将拒绝我的应用程序。

有没有办法在不输入用户的情况下获取当前设备的电话号码?

【问题讨论】:

  • 我将您对“号码”的使用更改为“电话号码”,因此很明显您不是在询问设备的 UDID 号码。

标签: iphone objective-c ios


【解决方案1】:

你已经有了答案:

任何人都可以帮助我吗? 获取当前设备号的方法 无需用户输入。

是的,使用您的问题中的代码。

而且,是的,如果您在没有用户输入的情况下以编程方式获取电话号码,您的应用程序将被 Apple 拒绝。 这很简单。

如果您需要该号码,请向用户索取。如果他们信任你,他们会输入号码。

【讨论】:

  • 如果用户输入了错误的号码,我们该如何处理..
  • 通过短信(不是从用户手机,而是从您的服务器使用短信网关)向号码发送验证码。然后让用户输入数字。
  • 为什么需要这个号码?如果您不需要打电话(!)或短信到用户的手机,请不要接听。如果您不需要给用户打电话或发短信,请重新考虑您的模型,不包括电话号码。
  • 我需要在服务器验证用户设备号码和电话号码,如果两者相同我需要提供服务。这是我的要求
  • 如果我问用户“我可以检测到您的电话号码并使用它(将解释我为什么需要电话号码)怎么办?”并且用户允许这样做我运行@MaheshBabu 给出的代码
【解决方案2】:

不,设备的电话号码不能以编程方式使用,但仍然得到 Apple 的批准,谢天谢地。我绝对不希望我出于好奇而下载的免费应用程序获取我的电话号码并开始向我发送垃圾短信或让营销人员给我打电话。

【讨论】:

  • 可以通过编程方式检索号码。但苹果拒绝这样做的应用程序。
  • 好点,我的意思是“在规则范围内”。我改进了我的答案。
  • 有趣的阅读:kuberan.me/2011/03/…
  • @Phill 这很有趣。幸运的是,iPhone 没有“运营商计费”,因此不需要发送任何数据。您可以通过编写一个简单的“将标头吐回”网页(这是我在阅读本文后做的第一件事)或访问执行相同操作的网站来准确查看正在发送的标头。这是向您显示所有标题的一个,从您的 iPhone 访问它以查看发送的确切内容(也可以从您的笔记本电脑/台式机访问):ericgiguere.com/tools/http-header-viewer.html
猜你喜欢
  • 2013-06-22
  • 1970-01-01
  • 2015-04-19
  • 2012-03-19
  • 2011-08-22
  • 2014-01-27
  • 1970-01-01
  • 2010-10-31
相关资源
最近更新 更多