代码编织梦想

描述

根据 苹果审核 指南:如果app专门使用第三方或社交登录服务(例如微信登录,QQ登录,Facebook登录,Google登录,Twitter登录等)来对其进行设置或验证这个app的用户主账户,则该app必须同时提供“通过Apple登录”作为等效选项,用户的主账户时指在app中建立的,用于标识身份,登录和访问功能和相关服务的账户。


在以下情况下,不要求提供“通过 Apple 登录”选项:

  • 您的 app 仅使用公司自有的帐户设置和登录系统。
  • 您的 app 是一款教育、企业或商务 app,要求用户使用现有的教育或企业帐户登录。
  • 您的 app 使用政府或行业支持的公民身份系统或电子身份证来鉴定用户身份。
  • 您的 app 是特定第三方服务的客户端,用户需要使用他们的邮件、社交媒体或其他第三方帐户直接登录才能访问内容。


按钮要求

苹果会提供一个推荐的按钮,如上图,你也可以自定义一个按钮,但必须符合苹果的规范:样式规范官方文档

集成

ShareSDK从4.3.4版本开始支持苹果登录,将苹果返回的数据全部返回给用户。在使用ShareSDK提供的苹果登录功能后,还将提供一个可以监听苹果登录状态变化的功能,在登录状态被注销时可以实时检测。可以参考demo例子,在demo中的体现为: 在用户登录后,进设置界面(可以在另一台设备上操作)删除该app登录权限,则app能实时接收登录账号失效的状态(重新启动需要在进入前台后才能获取),从而使app更安全。

下载SDK

登录我们的 官网,进行下载,需要苹果登录,请勾选。

导入SDK

将下载的SDK导入到项目里,并添加依赖库

AuthenticationServices.framework

项目配置

证书开通Sign In with Apple选项,并且在Xcode的项目里配置

代码实现

(自己可以打印返回的信息,需要什么可以根据key去获取)

/**
 授权

 @param platformType 平台类型
 @param settings 授权设置,接受scopes属性设置,如新浪微博关注官方微博:@{@"scopes" : @[@"follow_app_official_microblog"]},类似“follow_app_official_microblog”这些字段是各个社交平台提供的。QQ平台如设置二维码授权,添加字段为QQAuthType:@{@"QQAuthType":@1}, 0为网页账号密码登录授权
 @param stateChangedHandler 授权状态变更回调处理
 @return 会话id
 */
+ (SSDKSession *)authorize:(SSDKPlatformType)platformType
                                settings:(NSDictionary *)settings
                 onStateChanged:(SSDKAuthorizeStateChangedHandler)stateChangedHandler;

示例代码

[ShareSDK authorize:SSDKPlatformTypeAppleAccount 
                     settings:nil 
            onStateChanged:^(SSDKResponseState state, SSDKUser *user, NSError *error) {
                    if (state == SSDKResponseStateSuccess)
                    { 
                             NSLog(@"rawData---%@",user.rawData);
                             NSLog(@"credential--%@",[user.credential rawData]);
                    }
                    else
                    {
                             NSLog(@"%@",error.userInfo);
                    }
}];

登录状态监听

(根据自己的需求可加可不加)

/**
 监听apple登录状态

@param object 添加监听的对象,在对象销毁时移除监听
@param isFirstAddCallBack 第一次添加时就回调当前状态
@param handler  返回apple登录状态
*/
+ (void)addObserve:(nullable id)object isFirstAddCallBack:(BOOL)isFirstAddCallBack 
forAppleAccountLoginStateHandler:(void (^) (SSDKAppleAccountState state, SSDKUser *user, NSError *error))handler;

示例代码

[AppleAccountConnector addObserve:nil 
                               isFirstAddCallBack:YES 
        forAppleAccountLoginStateHandler:^(SSDKAppleAccountState state, SSDKUser * _Nonnull user, NSError * _Nonnull error) {
           if (state != SSDKAppleAccountStateAuthorized){}
                     else{
                     if (user) {
                             NSLog(@"------%@", user.rawData);}
                  }
}];

点击登录按钮发起流程如下:

i. 第一次登陆

可以输入姓名、邮箱,之后,通过输入密码、指纹、faceID等登录,在返回时,返回user、token、姓名、邮箱等信息。

ii. 第二次登陆

无需输入信息,直接通过输入密码、指纹、faceID等登录,但此时只能获取到用户的user及token信息。

iii.退出登录

在"设置->账户->密码与安全性->使用您的apple ID 的 App"中删除此应用的user记录。此时,如果再打开app进行苹果登录的话需要从第一步开始。否则只要登陆过,不论在任何设备用同一个appleID登录的话都只显示步骤二的界面。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/apkkkk/article/details/129800964

2014年最新810多套源码2.46gb免费一次性打包下载-爱代码爱编程

http://www.eoeandroid.com/thread-497046-1-1.html 之前发过一个帖子,但是那个帖子有点问题我就重新发一个吧,下面的源码是我从今年3月份开始不断整理源码区和其他网站上的安卓例子源码,目前总共有810套左右,根据实现的功能被我分成了100多个类,总共接近2.5G,还在不断更新。初学者可以快速方便的找到自己想要的例

我的资源-爱代码爱编程

卷 yunpan 的文件夹 PATH 列表 卷序列号为 00000200 0000:73EC E:. │ javaapk.com文件列表生成.bat │ 使用说明.txt │ 本例子永久更新地址~.url │ 目录列表.txt │ ├─前台界面 │ ├─3D标签云卡片 │ │ Android标签云效果(CloudTag)Cloud

android开发必备(干货源码放送大)-爱代码爱编程

Android源码大放送(实战开发必备) 文件夹 PATH 列表 │  javaapk.com文件列表生成工具.bat │  使用说明.txt │  免费下载更多源码.url │  目录列表.txt │   ├─android web应用 │      jqmDemo_static.zip │      jqmMobileDemo-ma

android app第三方授权登陆,分享等功能合集_keep_moving12138的博客-爱代码爱编程

        这篇文章中,我们使用到了Share SDK,它是为iOS、Android、WP8的APP提供社会化功能的一个组件,目前支持如QQ、微信、新浪微博、腾讯微博、开心网、人人网、豆瓣、网易微博、搜狐微博、facebook、twitter、google+等国内外主流社交平台。 一、实现的效果图                主界面效

java这门语言 如何从刚毕业的小菜鸟进阶成月薪15k以上的工程师_当富网络的博客-爱代码爱编程

java 学习开发一些体会 文章目录 java 学习开发一些体会前言一、学习知识汇总1.1、Java se基础1.2、java学习详细路线指导 二、学习Java需要达到的30个目标2.1 先学习j2s

android安卓源码海量项目合集打包-1-爱代码爱编程

下载地址 最后更新共计113个分类5177套源码29.2 GB。 卷 新加卷 的文件夹 PATH 列表 卷序列号为 00000200 5E7A:7F30 F:. ├─前台界面 │ ├─3D标签云卡片热门 │ │ Android TagCloudView云标签的灵活运用.rar │ │ Android 实现 标签 拖动 改变位置.rar │ │ andro

android安卓源码海量项目合集大全打包6000套-2续-爱代码爱编程

文章太长,接上一篇。 │              Android应用源码之HTMLViewer.zip │              Android应用源码之http 演示Demo.zip │              Android应用源码之http.zip │              Android应用源码之http1.zip │      

2017年最牛逼的分类android项目源码免费一次性打包下载!_chilulei0025的博客-爱代码爱编程

之前发过一个帖子,但是那个帖子有点问题我就重新发一个吧,下面的源码是我从今年开始不断整理源码区和其他网站上的安卓例子源码,目前总共有810套左右,根据实现的功能被我分成了100多个类,总共接近2.5G,还在不断更新。初学者可以快速方便的找到自己想要的例子,大神也可以看一下别人的方法实现。虽然的例子都是我一个人辛辛苦苦花了很多时间和精力整理的,但是既然

sharesdk 开发过程中常见问题_java.lang.noclassdeffounderror: cn.sharesdk.framew-爱代码爱编程

QQ-分享报错901111,9001010等 由于QQ现在需要审核后才可以分享(之前分享不需要审核),所以此错误解决方法只需通过腾讯开放平台的审核即可,另外要检查注册好的应用的基本信息,包名、md5签名和Bundle id