【原创 附源码】Flutter安卓及iOS海外登录--Apple登录最详细流程

最近接触了几个海外登录的平台,踩了很多坑,也总结了很多东西,决定记录下来给路过的兄弟坐个参考,也留着以后留着回顾。更新时间为2024年2月12日,后续集成方式可能会有变动,所以目前的集成流程仅供参考,但是绝对详细且经过真机验证。

整个记录会包含源码。

dart环境:sdk: '>=2.7.0 <3.0.0'

集成海外登录需要科学上网,一共涉及四个平台,Tiktok,Facebook,Google以及Apple登录。我会分别一一整理记录,所以我的项目就命名为fgta_login (Facebook,Google,Tiktok,Apple登录),奇怪的命名+1。

这篇文章只记录Apple账户登录的详细流程,其他几个平台的集成流程如下:

【原创 附源码】Flutter安卓及iOS海外登录--Google登录最详细流程

【原创 附源码】Flutter安卓及iOS海外登录--Tiktok登录最详细流程

【原创 附源码】Flutter安卓及iOS海外登录--Facebook登录最详细流程

一 Xcode项目配置

Apple登录可谓是海外第三方登录里最简单,最容易实现的一个了,打开iOS项目,点击添加Capability:

然后选择苹果登录,(如果这里没有的话需要去苹果开发者中心,在bundle id的配置里增加 Sign in with Apple的功能,记住账户必须是公司账户才有该选项) :

增加完如下所示:

ios项目就配置完了

二 Flutter 项目配置

苹果登录使用的第三方插件是

sign_in_with_apple: ^4.0.0 

插件地址为:sign_in_with_apple | Flutter package

在ymal文件增加插件,然后执行flutter pub get 

执行完了记得去ios项目里执行pod install同步第三方插件。

然后开始调用apple登录:

 final credential = await SignInWithApple.getAppleIDCredential(
      scopes: [
        AppleIDAuthorizationScopes.email,
        AppleIDAuthorizationScopes.fullName,
      ],
    );
    if (credential != null) {
      print("苹果登录信息");
      print(credential.toString());
      print(credential.email);
      print(credential.givenName);
      print(credential.userIdentifier);
    }

调用结果如下:

授权完成后,输出用户信息为

但是注意,这里有一个坑点,苹果用户只有第一次授权登录的时候才可以获取到用户的姓名、邮箱这些信息,在第二次登录的时候,这些信息会返回空值,只会返回用户的identfier,第二次多冷结果如下:

可以发现,用户的邮箱和姓名都返回为空了

源码地址:

源码地址:https://github.com/TheRuningAnt/FGTALogin.git 

注:这个项目使用的是个人账户,所以未开启apple sign登录功能,但是登录的逻辑和代码是有的且经过完整的测试,兄弟们下载完成之后将bundle id改为自己的,然后在这里增加上苹果登录的授权就可以了,如何增加上文有介绍

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/384492.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Google Cloud 2024 年报告重点介绍了关键的网络威胁和防御

Google Cloud 的 2024 年威胁范围报告预测了云安全的主要风险&#xff0c;并提出了加强防御的策略。 该报告由 Google 安全专家撰写&#xff0c;为寻求预测和应对不断变化的网络安全威胁的云客户提供了宝贵的资源。 该报告强调&#xff0c;凭证滥用、加密货币挖矿、勒索软件和…

HTML 超文本标记语言

超文本标记语言 HTML 在一个客户程序主窗口上显示出的万维网文档称为页面 (page)。 页面制作的标准语言&#xff1a;HTML。 超文本标记语言 HTML (HyperText Markup Language) 是一种制作万维网页面的标准语言&#xff0c;它消除了不同计算机之间信息交流的障碍&#xff0c…

2024-02-08 Unity 编辑器开发之编辑器拓展1 —— 自定义菜单栏

文章目录 1 特殊文件夹 Editor2 在 Unity 菜单栏中添加自定义页签3 在 Hierarchy 窗口中添加自定义页签4 在 Project 窗口中添加自定义页签5 在菜单栏的 Component 菜单添加脚本6 在 Inspector 为脚本右键添加菜单7 加入快捷键8 小结 1 特殊文件夹 Editor ​ Editor 文件夹是 …

例38:使用Frame(分组框)

建立一个EXE工程&#xff0c;在窗体上放两个Frame框。分别放两组单选按钮表示性别和收入&#xff0c;注意每组单选按钮的组名要一样。在按钮中输入代码&#xff1a; Sub Form1_Command1_BN_Clicked(hWndForm As hWnd, hWndControl As hWnd)If Frame1.Visible ThenFrame1.Visib…

3D高斯溅射:面向三维场景的实时渲染技术

1. 前言 高斯溅射技术【1】一经推出&#xff0c;立刻引起学术界和工业界的广泛关注。相比传统的隐式神经散射场渲染技术&#xff0c;高斯溅射依托椭球空间&#xff0c;显性地表示多目图像的三维空间关系&#xff0c;其计算效率和综合性能均有较大的提升&#xff0c;且更容易理…

LocalAI 部署(主要针对 mac m2 启动)

LocalAI 部署 介绍 LocalAI 是免费的开源 OpenAI 替代方案。 LocalAI 充当 REST API 的直接替代品&#xff0c;与本地推理的 OpenAI API 规范兼容。 它无需 GPU&#xff0c;还有多种用途集成&#xff0c;允许您使用消费级硬件在本地或本地运行 LLM、生成图像、音频等等&#…

字串变换(AcWing, NOIP2002提高组)

题目描述: 题目链接: https://www.acwing.com/problem/content/192/ 思路: 这个题是要求“最小步数”&#xff0c;比较容易想到是用BFS来进行搜索&#xff0c;但是直接BFS的话状态数太多了&#xff0c;时间复杂度会到:,其中L是字符串的长度,N是一个字符串的可能变换到的后继…

X图形

1.题目 这道题是蓝桥云课上面的一道题目&#xff0c;它是2022年蓝桥杯省模拟题&#xff0c;题目难度为简单。 考察的知识点为递归。 题目链接&#xff1a;X图形 2.思路 如何理解题意&#xff1f; 蓝桥杯的题目和Leetcode题目最大的不同点在于&#xff0c;蓝桥杯的题目大部…

MogaNet实战:使用MogaNet实现图像分类任务(一)

文章目录 摘要安装包安装timm 数据增强Cutout和MixupEMA项目结构计算mean和std生成数据集 摘要 论文&#xff1a;https://arxiv.org/pdf/2211.03295.pdf 作者多阶博弈论交互这一全新视角探索了现代卷积神经网络的表示能力。这种交互反映了不同尺度上下文中变量间的相互作用效…

tcp 中使用的定时器

定时器的使用场景主要有两种。 &#xff08;1&#xff09;周期性任务 这是定时器最常用的一种场景&#xff0c;比如 tcp 中的 keepalive 定时器&#xff0c;起到 tcp 连接的两端保活的作用&#xff0c;周期性发送数据包&#xff0c;如果对端回复报文&#xff0c;说明对端还活着…

【后端高频面试题--设计模式下篇】

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;后端高频面试题 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 后端高频面试题--设计模式下篇 后端高频面试题--设计模式上篇设计模式总览模板方法模式怎么理解模…

2024年腾讯云4核8G12M服务器性能测评,适合哪些使用场景?

腾讯云4核8G服务器适合做什么&#xff1f;搭建网站博客、企业官网、小程序、小游戏后端服务器、电商应用、云盘和图床等均可以&#xff0c;腾讯云4核8G服务器可以选择轻量应用服务器4核8G12M或云服务器CVM&#xff0c;轻量服务器和标准型CVM服务器性能是差不多的&#xff0c;轻…

【c++基础】同构数

说明 同构数是这样一种数&#xff1a;它出现在它的平方数的右端。例如&#xff1a;5的平方是25&#xff0c;5就是同构数&#xff0c;25的平方是625&#xff0c;25也是同构数。 再比如&#xff1a;100以内的同构数有1 5 6 25 76这5个整数。 请编程计算出1~N之间&#xff08;包…

算法村目录

大家好我是苏麟 , 这是算法村使用目录 . 算法通关村 从链表到动态规划的实战 目录 算法村开篇第一关 了解链表第二关 链表专题第三关 数组专题第四关 栈专题第五关 队列专题第六关 树专题第七关 二叉树遍历专题第八关 二叉树专题第九关 二分查找与二叉树专题第十关 快速排序与归…

传统推荐算法库使用--mahout初体验

文章目录 前言环境准备调用混合总结 前言 郑重声明&#xff1a;本博文做法仅限毕设糊弄老师使用&#xff0c;不建议生产环境使用&#xff01;&#xff01;&#xff01; 老项目缝缝补补又是三年&#xff0c;本来是打算直接重写写个社区然后给毕设使用的。但是怎么说呢&#xff…

事理与事件知识图谱

目录 前言1 事件定义与事理逻辑1.1 事件定义1.2 事理逻辑 2 事理知识图谱与传统知识图谱的区别和联系2.1 事理知识图谱与传统知识图谱的区别2.2 事理知识图谱与传统知识图谱的联系 3 事理知识图谱中的关系3.1 顺承关系3.2 因果关系3.3 条件关系3.4 并发关系3.5 上下位关系 4 事…

HP Pavilion Laptop 15-cs3xxx原装出厂Win10.20H1系统

惠普笔记本HP Pavilion - 15-cs3030tx原厂Windows10系统镜像下载 链接&#xff1a;https://pan.baidu.com/s/1LmdJoN7F3BGvt49ovq-eww?pwdzgmt 提取码&#xff1a;zgmt 适用型号&#xff1a; 15-cs3001tx&#xff0c;15-cs3030tx&#xff0c;15-cs3031tx&#xff0c;15-cs…

每日一练:LeeCode-654、最大二叉树【二叉树+DFS+分治】

本文是力扣LeeCode-654、最大二叉树【二叉树DFS分治】 学习与理解过程&#xff0c;本文仅做学习之用&#xff0c;对本题感兴趣的小伙伴可以出门左拐LeeCode。 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点&#xff0c;其…

最全面的Docker安装部署,配置镜像加速

安装Docker 卸载旧版 首先如果系统中已经存在旧的Docker&#xff0c;则先卸载&#xff1a; yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine 配置Docker的yum仓库 首先…

Codeforces Round 924 (Div. 2)B. Equalize(思维+双指针)

文章目录 题面链接题意题解代码 题面 链接 B. Equalize 题意 给一个数组 a a a&#xff0c;然后让你给这个数组加上一个排列&#xff0c;求出现最多的次数 题解 赛时没过不应该。 最开始很容易想到要去重&#xff0c;因为重复的元素对于答案是没有贡献的。 去重后排序。&a…