1

我一直在尝试找到一种方法来验证电话号码(Android 和 iPhone)而不使用 SMS 验证系统。原因纯粹是围绕成本。我想要一个免费的解决方案。

我可以安全地假设 Android 操作系统会为我提供用户的电话号码(无需验证),从而使其成为免费解决方案吗?iOS 怎么样?

感谢你的帮助。

4

1 回答 1

1

Android允许您获取电话号码。您的应用将需要READ_PHONE_STATE用户的许可。

然后很容易得到电话号码,如下所示:

TelephonyManager tMgr =(TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE);
mPhoneNumber = tMgr.getLine1Number();

ios 不允许您获取用户的电话号码。他们认为这是一种安全风险。

一位尝试过此操作的开发人员收到了来自苹果的回复:

“出于安全原因,iPhone OS 将应用程序(包括其首选项和数据)限制在文件系统中的唯一位置。这种限制是被称为应用程序“沙箱”的安全功能的一部分。沙箱是一组精细的-粒度控制限制应用程序对文件、首选项、网络资源、硬件等的访问。”

设备的电话号码在您的应用程序容器中不可用。您需要修改您的应用程序,使其仅在您的目录容器中读取,并将您的二进制文件重新提交到 iTunes Connect,以便您的应用程序重新考虑在 App Store 中使用。

因此,您可能仍然需要使用 SMS 服务。祝你好运!

于 2012-11-07T08:18:38.243 回答