iOS获取手机号

本文介绍了一种通过运营商SDK实现的一键登录功能,该功能允许应用程序在用户同意的情况下直接获取其手机号码,从而简化登录流程。文章详细描述了授权流程,包括SDK初始化、唤起授权页、同意授权并登录以及取号等步骤。此外,还提到了在未插入SIM卡或移动网络关闭时的兼容性解决方案,以及如何接入整合了三大运营商认证能力的第三方SDK。

网上常见的方案是使用CoreTelephony的私有API

extern NSString*CTSettingCopyMyPhoneNumber();

@implementation

+(NSString *)myNumber{
    return CTSettingCopyMyPhoneNumber();
}

不过这方案并没有什么卵用,私有API是不会通过苹果的AppStore审核的。

后来发现爱奇艺和bilibili的App都是可以获取到用户手机号的,还可以一键登录。

查了一下,发现原来是运营商提供的功能,运营商提供SDK,可以让开发者获取到当前手机使用的手机卡号,直接使用这个号码进行登录,这就是号码一键登录。

三大运营商的开放平台

移动 - 互联网能力开放平台(http://dev.10086.cn)

电信 - 天翼账号开放平台(https://id.189.cn)

联通 - WO+ 开放平台(http://open.wo.com.cn)

授权流程大致如下

(1)SDK初始化

调用 SDK 的初始化方法,传入项目在平台上的 AppKey 和 AppSecret。

(2)唤起授权页

调用 SDK 唤起授权接口。SDK 会先向运营商发起获取手机号掩码的请求,请求成功后跳转到授权页。授权页会显示手机号掩码以及运营商协议给用户确认。

(3)同意授权并登录

用户同意相关协议,点击授权页面的登录按钮,SDK

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值