tvOS 模拟器是否支持使用 Apple 登录 (SIWA)?

2024-03-02

我已在项目目标中启用 SIWA 的权利。相同的步骤在 iOS 模拟器中运行良好。

我在 tvOS 模拟器上尝试使用 Apple (SIWA) 登录时遇到以下问题。

重现问题的步骤:

  1. 在点击自定义按钮请求 SIWA 时,全屏显示 Apple id 密码(未提供选择电子邮件中继的选项)(最后附上屏幕截图以供参考)
  2. 输入正确的密码后,我会在错误委托中收到回调。

错误委托中的错误:

错误错误域=com.apple.AuthenticationServices.AuthorizationError代码=1000“(空)”

下面是整个过程的代码片段。

我已经按照 iOS 版 SIWA 官方文档完成了所需的所有步骤。

仅供参考:相同的代码适用于我的 iOS,但不适用于 tvOS。我在开发过程中在 iPhone 模拟器中测试了 SIWA,现在在 tvOS 上尝试相同的操作,但它不起作用。

下面是我的代码。

这里,在ViewController的viewDidLoad上调用函数setup()

private func setup() {  
    if #available(tvOS 13.0, *) {  

        let appleIDProvider = ASAuthorizationAppleIDProvider()  

        appleIDProvider.getCredentialState(forUserID: "myapp.identifiers.currentUserIdentifier") { (credential, error) in  

            switch credential {  
            case .authorized:  
                print("authorized for sign in")  
                break  
            case .notFound, .revoked, .transferred:  
                print("ready to logout")  
                break  
            default:  
                print("Apple sign in credential state unidentified")  
            }  

        }  
    }  
}  

在自定义 SIWA 按钮的操作方法内,我的代码如下所示

   if #available(tvOS 13.0, *) {  
        let appleIDProvider = ASAuthorizationAppleIDProvider()  
        let request = appleIDProvider.createRequest()  
        request.requestedScopes = [.fullName, .email]  

        let authorizationController = ASAuthorizationController(authorizationRequests: [request])  
        authorizationController.delegate = self  
        authorizationController.presentationContextProvider = self  
        authorizationController.performRequests()  
    } 

呈现锚点在 ViewController 的扩展中设置

extension ENWelcomeScreenViewController: ASAuthorizationControllerPresentationContextProviding {
    @available(tvOS 13.0, *)
    func presentationAnchor(for controller: ASAuthorizationController) -> ASPresentationAnchor {
        return self.view.window!
    }
}  

最后是错误委托,我在其中接收回调。

 /// - Tag: did_complete_error  
    @available(tvOS 13.0, *)  
    func authorizationController(controller: ASAuthorizationController, didCompleteWithError error: Error) {  
        print("error \(error)")  
    }  

以下是用户点击 SIWA 按钮时的外观。

任何线索都将受到高度赞赏。


我的问题的答案是否定的!

发现:

  1. 我们无法在 tvOS 模拟器中测试 Apple 登录。
  2. 当我尝试在 Apple TV 上运行相同的内容时,它成功了。
  3. 输入 Apple ID 凭据登录我的应用程序后,我在使用相同 Apple ID 登录的设备上收到推送通知。
  4. 当您点击收到的推送通知时,没有任何反应。

On the 苹果论坛 https://developer.apple.com/forums/thread/134117,我从他们的工程团队那里得到了类似的回应。

这是 Apple TV 的屏幕截图。

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

tvOS 模拟器是否支持使用 Apple 登录 (SIWA)? 的相关文章

  • iOS 循环对象的属性并添加操作

    我有一个具有几个类似属性的类 UISliders 我想添加用户开始和结束使用每个滑块时的操作 每个滑块都将链接到同一个选择器 因此我考虑只是迭代它们 而不是编写 10 个几乎相同的代码块 问题是 最有效的方法是什么 我尝试过这样的事情 在运
  • 通过 AJP 将 REMOTE_USER 转发到 tomcat(例如用于 shibboleth)

    今天我刚刚遇到了以下问题 1 我将apache配置为基本身份验证 需要有效用户 这有效 2 我进一步配置 apache 将某些路径 在我的例子中为 idp 的请求转发到 tomcat servlet shibboleth IDP 结果是 s
  • UIWebView Bug:-[UIWebView cut:]:无法识别的选择器发送到实例

    In the UIWebView 如果包含文本的输入元素具有焦点 并且按下按钮导致输入失去焦点 则随后双击输入以重新获得焦点并从出现的弹出栏中选择 剪切 或 复制 或 粘贴 会导致这UIWebView因错误而崩溃 UIWebView cut
  • 在故事板中的视图控制器之间滑动手势

    我希望添加左右滑动手势来在视图控制器之间进行更改 这是否可能 并且有没有一种简单的方法可以在故事板中执行此操作 谢谢 故事板允许您在两个视图控制器之间设置 Segues 我想说首先在视图之间附加 Segues 给它一个标识符 然后使用类似的
  • RemoteIO 音频单元播放回调中的 AudioBufferList 内容

    我想 拦截 音频数据传送到 iOS 设备扬声器的过程 我相信这可以使用 RemoteIO 音频单元和回调来完成 在下面的playbackCallback中 ioData实际上包含任何音频数据吗 static OSStatus playbac
  • 苹果推送通知在生产中不起作用

    我们完全陷入困境 请帮忙 我和我的团队制作了一个 iPhone 应用程序 这是我们第一次在 iOS 上尝试 一切都很好 直到我们提交应用程序并在应用程序商店上可用为止 推送通知服务无法正常工作 我在网上搜索并尝试根据人们的建议仔细检查我们的
  • 仅将 UIImage 移动到另一个 UIImage 内部

    I have an UIImage which is shown in an UIImageView I also have another image in an UIImageView which lays above the firs
  • 如果我的消耗性 IAP 被退款,我会收到任何通知吗?

    我有 Apple iOS 应用程序 其中有很多消耗性 IAP 我非常担心用户购买IAP并使用一段时间后向Apple客服投诉并获得退款 如果我的消耗品 IAP 退款 我会收到任何通知吗 我如何注意到这一点并阻止用户使用 IAP None
  • 我可以更改键盘方向吗?

    例如我用这段代码关闭自动旋转 BOOL shouldAutorotateToInterfaceOrientation UIInterfaceOrientation interfaceOrientation return NO BOOL sh
  • 使用 Simulator 时 Xcode 10 中的屏幕截图尺寸错误

    我正在尝试使用 Xcode 10 模拟器为 iTunes 制作屏幕截图 但图像大小错误 我读过Debug gt Optimize Rendering for Window Scale会有帮助 但在 Xcode 中没有这样的选项 有人有这个问
  • 检索 iPhone 中的 Outlook 联系人

    我想通过应用程序导入所有 Outlook 联系人 有什么办法可以做到这一点吗 请告诉我 您可以通过实施 Microsoft Exchange 服务器协议来实现此目的 微软MSDN http msdn microsoft com en us
  • 无法在 iOS 企业应用程序中连接到 example.com

    我面临着一个严重的问题 我正在尝试使企业应用程序上线 通过使用 BetaBuilder 我按照以下步骤操作 myApp ipa manifest plist index html 清单 plist
  • 奇怪的 UITableView 插入/删除行动画

    在带有动画 UITableView RowAnimationTop 的 UITableView 中插入 删除 UITableViewCell 时 我看到了奇怪的效果 当要插入的单元格比上面的单元格大得多时 就会发生动画故障 显示模拟器中的故
  • Swift 闭包作为 AnyObject

    我尝试使用这个方法 class addMethod 在 Obj c 中使用如下 class addMethod self class selector eventHandler imp implementationWithBlock han
  • 无法将“SDWebImageActivityIndi​​cator”类型的值分配给“ST_SDWebImageIndicator”类型?

    I have multiple flavours targets in my Xcode project I am also using SDWebImage in my app Everything was working fine un
  • 防止UIScrollView的UIPanGestureRecognizer遮挡UIScreenEdgePanGestureRecognizer

    我有一个UIScrollView它填满了我应用程序的一页上的屏幕 但我希望允许用户从屏幕边缘平移以显示其后面的视图 问题是 UIScrollView 窃取了我的触摸UIScreenEdgePanGestureRecognizer在屏幕边缘
  • 使用 NSURLSessionDataTask 显示文件下载进度

    我想显示特定文件的文件下载进度 收到了多少字节 它与 NSURLSessionDownloadTask 配合得很好 我的问题是我想用 NSURLSessionDataTask 实现同样的效果 以下是将文件接收到 NSData 并写入文档文件
  • 如何防止 RealmSwift 列表中出现重复项?

    如何防止向列表中添加重复项RealmSwift 我有我的User作为领域对象 但真正的数据源是服务器 只是使用领域在本地缓存用户 当我从服务器获取当前用户数据时 我想确保存储在领域中的用户拥有来自服务器的所有播放列表 以及它们的曲目列表等
  • iOS - NSNotificationCenter 多个UIKeyboard通知

    我有两个视图控制器 我们称它们为 A 和 B 1 在 A 中 我显示一个包含文本字段的 popOver 2 B中有一个UITextView用于简单的文本编辑 我必须管理 A 和 B 中的键盘才能滚动键盘隐藏的内容 我知道如何重新定位内容 我
  • Node.js 和 Passport 对象没有 validPassword 方法

    我正在使用 Node js Express Passport 创建一个简单的身份验证 本地 到目前为止我所达到的效果是 当输入错误的用户名或密码时 用户将被重定向到错误页面 但是当用户输入正确的用户名和密码时 我收到此错误 node mod

随机推荐

  • 在finally块中,我可以判断是否抛出了异常[重复]

    这个问题在这里已经有答案了 可能的重复 是否可以在进入finally块之前检测是否发生异常 https stackoverflow com questions 184704 is it possible to detect if an ex
  • Rails - 如何在不重复的情况下为多个角色声明 attr_accessible

    有没有办法为多个角色声明 attr accessible 而无需大量重复 如果我有多个用户角色 并且每个角色都可以编辑不同的属性子集 那么我的 attr accessible 声明如下所示 attr accessible first nam
  • 使用 Hibernate 和 spring 检查数据库中是否存在行的最快方法是什么?

    我需要以非常快的方式检查数据库中是否存在一行 假设我有主键 我在 Hibernate 的 FAQ 网站上找到了这段代码片段 Integer count Integer session createQuery select count fro
  • 禁用 Doctrine 外键约束

    我与我的一个模型有关系 ORM ManyToOne targetEntity Page cascade persist ORM JoinColumn name page id referencedColumnName id private
  • 如何执行没有返回类型或回调的 DELETE 请求? [改造]

    我需要使用 Retrofit 执行 DELETE 请求 所以 我的界面代码片段如下所示 DELETE api item id void deleteItem Path id int itemId 但我收到错误 java lang Illeg
  • 如何随机放置UIButton和值

    我有一个问题视图 将显示 4 个答案 只有 1 个是正确的 但我不希望同一个按钮始终是正确的答案 我想知道如何每次随机放置 4 个 UIButton 和值 当用户再次进入这个问题时 答案将在不同的按钮中 我的 X y W H 位置 按钮1
  • LC.exe 无法运行

    编译时我收到错误LC EXE http msdn microsoft com en us library ha0k3c9f v vs 80 aspx The specified task executable LC exe could no
  • 过滤和分页

    大家好 感谢您的帮助 我正在尝试实现一个简单的分页过滤器 按类别隐藏 li 例子是here http jsfiddle net vU9Hv 11 我是这方面的新手 但在一些帮助下 主要想法正在发挥作用 唯一的问题是 当我单击过滤时 我只想对
  • 通过 AJAX 下载 CSV

    您可以使用 AJAX 从 Web 应用程序下载生成的 csv 文件吗 如果是的话 有人可以向我指出任何类型的参考吗 编辑 抱歉 我应该提到我正在使用 Prototype 的 Ajax Request 我查看了 firebug 的响应工具 生
  • 根据 R 中的条件选择列表的嵌套子列表

    我有以下嵌套列表的简单示例 list list structure list group a def control Names c group def list structure list group b def disease1 Na
  • 如何解决“LINQ to Entities 中的排序输入仅支持方法‘Skip’”。

    当我使用 LINQ toEntity 显示每个产品并在 ASP NET MVC 中实现分页时 出现此错误 The method Skip is only supported for sorted input in LINQ to Entit
  • 文本色调的 CSS 等效项

    我正在尝试将文件从 Adob e InDesign 导出到基本 HTML CSS 用户可以选择一些文本并更改文本颜色 使用 InDesign SDK 我可以获取该颜色的 RGB 值 并在 CSS 文件中声明color rgb R G B 效
  • Visual Studio 2012 Web Essential 中缺少 Typescript 选项

    我正在设置 Visual Studio 2012 和 TypeScript 我遇到的问题是 网络要点Visual Studio 2012 gt 工具 gt 选项 gt Web Essentials gt TypeScript所有选项均丢失
  • 当字符串以 &*( 开头并以 )(* 结尾时,如何从字符串中删除一部分文本

    我有一根很长的绳子 字符串中的某个位置有一部分以 然后有一些文字 以 如何删除此文本以及开头和结尾的特殊符号 Example Bla bla bla asd asd asd bla bla bla Yadda yadda yadda akl
  • 将 CCAvenue 与 php 集成

    我是支付网关的新手 我想使用 PHP 将 CCAvenue 集成到我的网站 我已经下载了他们的集成工具包 包括我的商家 ID 和工作密钥 将帐户设置为活动状态 并尝试对他们在我的本地主机中提供的索引文件进行虚拟交易 但是 当我点击表单上的
  • 在新选项卡中打开 FPDF

    我有一个从帖子表单生成的 pdf fpdf 我希望 pdf 在新选项卡和 或窗口中打开 提示用户保存 pdf 我猜我需要将输出保存到字符串中 data pdf gt Output OfficeForm pdf S 但我到底可以用这个字符串做
  • JGit S3 仅支持标准美国存储桶?

    除了美国标准的 S3 存储桶之外 是否可以使用 JGit 的其他位置 即通过配置文件等 还是我在这里做错了什么 如果我尝试将位于 EU 的 S3 存储桶与 JGit 一起使用 jgit 会抛出错误 gt jgit push origin m
  • 在 API 23 / Marshmallow 中的 onOptionsItemSelected() 内的 recreate() 上出现错误

    我正在尝试使我的应用程序在 APIoptions menu 如果他们慢慢地点击菜单选项 这样就有时间看到该选项被突出显示 一切都很好 但如果他们短暂地点击 应用程序就会崩溃 我知道这是一种非常奇怪的行为 我花了一些时间试图理解是什么引发了错
  • cx_Freeze 复制路径

    我正在使用 cx Freeze 为我的 PyQt 应用程序生成 Windows 二进制文件 但生成的二进制安装程序似乎仍然包含对我的计算机上的文件的引用 生成二进制文件的那个 所以我无法将生成的安装程序分发到其他机器 当该程序在另一台计算机
  • tvOS 模拟器是否支持使用 Apple 登录 (SIWA)?

    我已在项目目标中启用 SIWA 的权利 相同的步骤在 iOS 模拟器中运行良好 我在 tvOS 模拟器上尝试使用 Apple SIWA 登录时遇到以下问题 重现问题的步骤 在点击自定义按钮请求 SIWA 时 全屏显示 Apple id 密码