网上常见的方案是使用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

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

被折叠的 条评论
为什么被折叠?



