使用 Apple 登录 - Ionic 3

2024-04-12

我正在尝试使用以下插件和包装器在我的 ionic 3 项目上实现苹果登录

ionic cordova plugin add cordova-plugin-sign-in-with-apple
npm i --save @ionic-native/sign-in-with-apple

插件文档中描述的实现


import { SignInWithApple, AppleSignInResponse, AppleSignInErrorResponse, ASAuthorizationAppleIDRequest } from '@ionic-native/sign-in-with-apple/ngx';


  constructor(private signInWithApple: SignInWithApple) { }


    this.signInWithApple.signin({
      requestedScopes: [
        ASAuthorizationAppleIDRequest.ASAuthorizationScopeFullName,
        ASAuthorizationAppleIDRequest.ASAuthorizationScopeEmail
      ]
    })
    .then((res: AppleSignInResponse) => {
      // https://developer.apple.com/documentation/signinwithapplerestapi/verifying_a_user
      alert('Send token to apple for verification: ' + res.identityToken);
      console.log(res);
    })
    .catch((error: AppleSignInErrorResponse) => {
      alert(error.code + ' ' + error.localizedDescription);
      console.error(error);
    });

cordova ios 构建过程中抛出以下错误

typescript: node_modules/@ionic-native/sign-in-with-apple/ngx/index.d.ts, line: 6 
        Initializers are not allowed in ambient contexts. 

   L5:  export declare class ASAuthorizationAppleIDRequest {
   L6:      static readonly ASAuthorizationScopeFullName = 0;
   L7:      static readonly ASAuthorizationScopeEmail = 1;

任何帮助将不胜感激,谢谢

tsc -v 
Version 3.8.3

这对我有用:

  1. install:

ionic cordova plugin add https://github.com/twogate/cordova-plugin-sign-in-with-apple.git

  1. 在你的组件中声明 var

declare var cordova:any; // global

cordova.plugins.SignInWithApple.signin(
    { requestedScopes: [0, 1] },
    function(response){
      console.log(response)
      alert(JSON.stringify(response))
    },
    function(err){
      console.error(err)
      console.log(JSON.stringify(err))
}

我希望这个解决方案可以帮助某人。

重要 --> 在设备中测试

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Apple 登录 - Ionic 3 的相关文章

  • 使用phonegap检查互联网连接

    我看到了一些不同的选项来检查电话间隙的互联网连接 有document addEventListener online onOnline false 还有navigator network connection type 但我不确定哪一种是最
  • 在 Phonegap InAppBrowser 中显示加载指示器

    当使用以下代码加载页面时 我尝试在 Phonegap InAppBrowser 中显示加载指示器 var ref ref window open http www google com top location no ref addEven
  • 在 ionic 3 应用程序中找不到命名空间“google”

    在我尝试在项目中使用 google 变量后 任何人都可以帮我解决这个错误 我进入了 ionic 3 应用程序 npm install save types google maps 将以下内容添加到我的 package json 中 type
  • 混合应用程序开发(PhoneGap、Cordova、Ionic)

    我试图了解一切是如何运作的 但对此主题有一些疑问 我将解释我如何理解这些东西 首先让我们从Cordova这是翻译平台JS CSS HTML文件到本机应用程序中 但这并不完全是事实 实际上 它只是将所有 html css 文件放入 asset
  • Ionic 2 自定义后退按钮操作

    我想自定义此屏幕截图中提到的后退按钮的单击操作 我希望通过单击我不会返回到上一页 而是返回到我自己指定的页面 或者在返回之前进行处理 要自定义默认后退按钮操作 您需要覆盖返回按钮点击 NavBar 组件的方法 Step 1 在你的 自定义类
  • 使用cordova打开本地pdf文件

    我使用 cordova 3 3 0 我想打开本地 pdf 文件 然后根据用户需求关闭它 ref window open encodeURI path blank location yes ref addEventListener exit
  • 类型“Promise”上不存在属性“finally”

    我试图对承诺使用finally 方法 但我不断收到此错误 Property finally does not exist on type Promise
  • Ionic iPhone X 安全区域无法正常工作

    我正在尝试在顶部工具栏和底部选项卡区域之间安装一个 我需要它能够在 iPhone 5 X 和 iOS 10 11 上运行 如果你忽略iOS10 那么就不存在问题 但我还需要旧版本才能工作 这是我的 CSS margin top 在 iOS
  • Cordova 插件包括 Android 库 (Gradle)

    我想包括这个 Androidlibrary https github com 50ButtonsEach fliclib android在 Cordova 插件中 该库本身由 Gradle 管理 如 Github 链接所示 图书馆的开发者只
  • GapDebug:哪里可以获得最新版本?

    Genuitec 宣布 GapDebug 生命周期结束 因此他们不再托管任何安装文件 我想下载最新版本 2 4 0 但找不到托管服务商 None
  • 如何在 Windows Phone 8 中安装 .xap PhoneGap 版本?

    我使用phonegap android开发了一款简单的游戏 但在为Windows iOS Android 黑莓等构建后 它仅适用于Android设备 因此我可以为Android设备安装apk文件 但在Windows xap文件中未检测到Wi
  • 无法在cordova项目中安装插件

    我面临一个大问题 Unable to install the phonegap plugins在我的科尔多瓦项目中 实际上昨天它仍然工作正常 现在 每当我尝试在我的 cordova 项目中使用 CLI 添加任何 cordova 插件时 我收
  • 如何向离子推送通知添加操作按钮?

    我想向离子推送通知添加一些操作按钮 我正在使用科尔多瓦pushv5 通知工作正常 但我不知道如何添加这些按钮 如何添加这些按钮 应在 POST 请求中添加操作按钮 registration ids my device id data tit
  • 有没有办法获取 Android 扩展文件中特定文件的 Url?

    我正在构建一个 PhoneGap 应用程序 其中包含大型音频和视频文件 在 Android 中 媒体文件应位于扩展文件中 以使应用程序大小保持在 Google Play 50 MB 限制以下 我目前正在考虑两种播放视频文件的方法 将所需的视
  • 当我在控制器中使用 state.go 时,离子滑动菜单不会出现

    大家好 我正在使用 ionic 来构建我的应用程序 并且我放置了幻灯片菜单 问题是当我使用 stage go 更改视图时 此工作正常 但幻灯片菜单失败 那么我该如何解决这个问题 路由器 use strict var app angular
  • 如何在 Ionic 3 中调整图像大小而不降低质量和目标宽度和高度?

    我想减小相机 API 拍摄的图像的大小 但质量降低不好 最好的办法是降低分辨率 但我不想对所有图像使用目标宽度和高度 例如 我希望图像宽度为 1280 图像高度按其比例自动变化 但在 API 中我应该使用精确的宽度和高度 如何通过图像比例更
  • 您的 APK 版本代码应高于 378

    几个月前 我在 Phonegap Build 中创建了一个 Android 应用程序 它工作正常 可以在 Play 商店上使用 我已经发布了我的应用程序的几个更新 并且都已成功发布 但今天我想发布我的应用程序的新更新 但它显示错误 您的 A
  • 在 ios 版 Ionic 中接收 URL

    我正在使用离子框架 我正在尝试设置一种从另一个应用程序接收网址的方法 就像 您在浏览器中 单击共享 然后将链接发送到另一个应用程序 我的应用程序 我找到了这个cordova https stackoverflow com questions
  • 无法使用cordova-plugin-file-transfer上传base64图像

    我正在尝试使用 cordova plugin file transfer 将 Base64 格式的图像上传到我的服务器 但到目前为止它还无法正常工作 我的代码是这样的 photoBase64 photoBase64 replace data
  • [WebCoreSharedBufferData getBytes:range:]: 范围 {0, 8} 超出数据长度 0'

    我正在更新我的 iOs 7 应用程序 我为 cordova 电话间隙 开发了这个应用程序 当我运行这个应用程序时 我收到错误 FirstDemo 175

随机推荐

  • 要在 Google App Engine 上托管静态 (HTML) 网站,app.yaml 文件中应包含哪些内容?

    我可以用它来上传 HTML 页面吗 app yaml内容 application visualvidya version 1 runtime python api version 1 handlers url gif png jpg ico
  • 我应该在 HTML 中使用 % 或 'px'

    无论是 HTML XHTML 还是 HTML5 您都会发现到处都是令人讨厌的百分比 然而 我看到很多网站都不敢靠近它们 然而大学总是鼓励我使用它们 那么我应该使用哪个 哪一个会带来更好的网站设计 为什么 我知道要避免使用高度 尽管如果我想使
  • 使用锚点提交表单安全吗?

    我在某处读到 使用锚标记提交表单不太安全 所以这就是我的问题 使用锚标记而不是安全吗
  • Curl 同时下载和上传同一文件

    不确定是否可能 但我一直在尝试使用curl 从 HTTP 位置下载文件并将其输出到 FTP 服务器上 如果这实际上可能的话 我真的很希望得到一些帮助 curl http example com down curl T ftp mysite
  • 捕获 Flask API 中引发的自定义异常。引发的所有异常最终都会出现 500 错误 [重复]

    这个问题在这里已经有答案了 我希望能够在 API 中引发验证和其他异常 并在包装 视图中捕获它们 该视图将以 JSON 形式返回错误消息 我想我可以使用这样的东西 例外 class APIException Exception def in
  • AWS 批处理始终为每个作业启动新的 ec2 实例

    我已经设置了一个批处理环境 托管计算环境 作业队列 职位定义 实际工作 docker 容器 执行大量视频编码 因此占用了大部分 CPU 该过程本身需要几分钟 初始化所有编码器大约需要 5 分钟 理想情况下 我希望每个实例执行一项作业 这样编
  • 可以使用 OnDeserializedAttribute 代替 IDeserializationCallback 接口吗?

    正如 MSDN 所说here http msdn microsoft com en us library system runtime serialization ondeserializedattribute aspx 它可以 但我花了
  • 与 JPA OneToMany 映射的只读关联

    我有一个与另一个实体关联的事务实体 因此在案例中不应更新关联实体 例如 案例 gt 用户 案例由用户拥有 反之 用户可以拥有许多关联的案例 使用 OneToMany 和 JoinColumn JPA 注释来映射关联 我还尝试将 User 实
  • 如何从外部资源将库连接到智能合约?

    pragma solidity 0 4 15 import ERC20 sol import SafeMath sol 如何连接安全数学 sol来自外部 非本地的 资源 虽然詹姆斯的答案是有效的 但我不建议从在线存储库链接合同的依赖项 这是
  • 如何使用 Spring Security 为特定端点添加 HTTP 基本身份验证?

    我有一个带有 Spring Security 的 Spring Boot 应用程序 一个新的端点 health进行配置 以便可以通过基本 HTTP 身份验证进行访问 目前的HttpSecurity配置如下 Override protecte
  • woocommerce 显示类别/子类别/产品

    有没有办法在 woocommerce 中显示主要类别及其子类别及其产品 php 还是简码 我尝试过一些条件格式 但没有任何结果 您有两个默认的短代码可用于显示产品类别 定义了特定的父类别 以显示子类别 和特定类别中包含的产品 要显示顶级类别
  • 在 Vim 中轻松地将函数参数重新格式化为多行

    特别是在编辑旧版 C 代码时 我经常发现自己手动重新格式化如下内容 SomeObject doSomething firstType argumentOne secondType argumentTwo thirdType argument
  • ejabberd如何编译新模块

    Here http www ejabberd im node 2872我找到了代码 erlc I ejabberd 2 1 13 lib ejabberd 2 1 13 include pa ejabberd 2 1 13 lib ejab
  • 子进程 popen stdout 锁定?

    您好 在使用 subprocess Popen 时 读取标准输出时遇到一些问题 daniel desktop python V Python 2 7 3 这是代码 注释代码是我尝试过的一些事情 import subprocess RUN h
  • 通过浏览器调用WCF服务方法

    我有一个使用基本 http 绑定的 WCF 服务 如何通过浏览器调用其操作 方法 您需要将 WebGetAttribute 添加到您的方法中 如下例所示 OperationContract WebGet UriTemplate places
  • 当我单击搜索按钮时,防止 ProgressDialog 被关闭(Android)

    在长时间运行的操作中 我显示了一个弹出对话框 由ProgressDialog以防止其他操作发生 我已将其设置为不可取消setCancelable false 所以我无法使用后退按钮关闭它 但令人惊讶的是 搜索 硬件按钮会关闭该对话框 更准确
  • 如何确定现有应用程序的安装范围?

    我有一个基于的安装程序WixUI Advanced允许用户选择安装范围 每个用户或机器范围 升级时 安装了较低版本的现有应用程序 我想隐藏安装范围屏幕并自动选择他们上次选择的安装范围 如何判断先前安装使用的安装范围 Edit 查看我的 MS
  • Android 代码从 ContentProvider 类而不是 Main 类开始

    昨天我发布了一个类似的问题 关于为什么我的代码从我的内容提供程序类而不是主类开始 我收到了一些反馈 我已经更新了这些反馈 但问题仍然存在 代码从 ContentProvider 类而不是主类开始班级 我已经使用调试器运行了代码 令人费解的是
  • 从字符串中过滤非数字

    仅使用快速代码 我无法弄清楚如何获取 555 555 5555 并仅返回数值并获得 5555555555 我需要删除所有括号 空格和破折号 我能找到的唯一例子是 Objective C 中的 它们似乎都使用 trim 方法 看起来好像 sw
  • 使用 Apple 登录 - Ionic 3

    我正在尝试使用以下插件和包装器在我的 ionic 3 项目上实现苹果登录 ionic cordova plugin add cordova plugin sign in with apple npm i save ionic native