小编And*_*dre的帖子

如何发出 Apple 登录撤销令牌 POST 请求?

如何构建 swift POST 请求以满足 Sign In With Apple 令牌撤销要求?

我不确定 form-data、client_id、client_secret、token 或 token_type_hint 应该是什么。我能够实现“使用 Apple 登录”来创建用户,但对其中的撤销部分非常迷失。

我希望用 Swift 来执行这个客户端,因为那是最方便的。Firebase 可能正在开发一种内置于其 SDK 中的解决方案,但不确定这是否是适合使用 Firebase 的开发人员的通用解决方案。

https://developer.apple.com/documentation/sign_in_with_apple/revoke_tokens#url

编辑:要求来源https://developer.apple.com/support/offering-account-deletion-in-your-app

以下函数位于同一类 (ViewModel) 中。第一个是我的登录/注册流程。一些代码与 Firebase 流相关,基本上可以忽略,但您可以看到我抓取了 client_secret 的令牌字符串和随机数。第二个函数类似于令牌撤销的 POST 请求(从未显示的删除帐户函数调用)。有人使用这种方法/样板取得过成功吗?

在我的应用程序中点击按钮来测试下面的令牌撤销方法会返回状态代码 400。我无法使用此方法撤销令牌,并且我不确定还能做什么。

public func authorizationController(controller: ASAuthorizationController, didCompleteWithAuthorization authorization: ASAuthorization) {
    // Sign in using Firebase Auth
    if let appleIDCredential = authorization.credential as? ASAuthorizationAppleIDCredential {
        guard let nonce = currentNonce else {
            print("Invalid state: A login callback was received, but no login request was sent.") …
Run Code Online (Sandbox Code Playgroud)

authentication token digital-signature swift

16
推荐指数
2
解决办法
1万
查看次数

如何解决 AppCheck 在 iOS 15.2 Firebase v8.11.0 上失败的问题?

有人在 Firebase 版本 8.11.0 中遇到过此问题吗?我不确定如何为我的应用程序抑制它。我需要将 AppCheck 集成到我的项目中吗?

\n
[Firebase/Firestore][I-FST000001] AppCheck failed: 'The operation couldn\xe2\x80\x99t be completed. Too many attempts. Underlying error: The operation couldn\xe2\x80\x99t be completed. The server responded with an error: \n - URL: https://firebaseappcheck.googleapis.com/v1beta/projects/............\n - HTTP status code: 400 \n - Response body: {\n  "error": {\n    "code": 400,\n    "message": "App not registered: ...............",\n    "status": "FAILED_PRECONDITION"\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

ios google-cloud-firestore swiftui firebase-app-check

10
推荐指数
1
解决办法
5685
查看次数

如何修复在 iOS 17 中破坏 SwiftUI 导航的 UINavigationController 扩展

我在 iOS 15 和 iOS 16 中一直使用以下扩展,似乎没有任何问题。对于上下文,我在项目中实现了此功能,以提供保留向后滑动手势的功能,以便在视图层次结构(子级到父级)中向后导航。这是因为使用后退按钮的自定义实现(出于 UI 样式目的)隐藏 SwiftUI 中的工具栏或导航栏会导致向后滑动手势丢失。

这就是这个扩展发挥作用的地方。感谢尼克·贝鲁奇的最高评价答案,我在这里找到了这一点。隐藏导航栏而不丢失 SwiftUI 中的向后滑动手势

现在的问题是,在 iOS 17.0 中,当从子视图滑回后返回到根视图时,根视图会在设备和模拟器上冻结并中断。有没有人重现或遇到过这个问题?要完全重新创建场景,只需.toolbar(.hidden)在子视图上使用即可,或者.navigationBarBackButtonHidden()改为使用。

还需要注意的是,我正在使用dismiss()弹出的视图。下面的片段...您只需根据自己的喜好将自定义后退按钮放置在子视图中即可重新创建此示例。

extension UINavigationController: UIGestureRecognizerDelegate {
    override open func viewDidLoad() {
        super.viewDidLoad()
        interactivePopGestureRecognizer?.delegate = self
    }

    public func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
        return viewControllers.count > 1
    }
}
Run Code Online (Sandbox Code Playgroud)
struct CustomBackButton: View {
    @Environment(\.dismiss) var dismiss
    var body: some View {
        Button(action: {
            dismiss()
        }) {
            // your pretty swiftui code here
        }
    }
} …
Run Code Online (Sandbox Code Playgroud)

navigation gesture swift swiftui ios17

10
推荐指数
1
解决办法
994
查看次数

不完整的向后滑动手势导致 NavigationPath 管理不善

我正在下面的示例代码中寻找以下错误的解决方案。我尝试使用 SwiftUI 4 和 iOS 16.0 导航 API 变更集实现导航器模式。

下面的示例将在 Xcode 14.0+ 中编译,如果在模拟器或 iOS 16.0 设备中运行,将会产生我所描述的错误。我想知道这是缺乏知识还是平台错误。通过我的日志,我可以看到,当我用不完整的向后滑动手势引发错误时,导航路径的元素计数上升到 2,而实际上它应该在根处返回到 0,并且仅在第一层保留 1 个元素看法。

有没有办法可以更好地管理此类视图层次结构的路径?或者,这是一个平台级错误吗?

import SwiftUI

enum AppViews: Hashable {
    case kombuchaProductsView
    case coffeeProductsView
    case customerCartView
}

struct RootView: View {
    @StateObject var drinkProductViewModel = DrinkProductViewModel()
    
    var body: some View {
        NavigationStack(path: self.$drinkProductViewModel.navPath) {
            List {
                Section("Products") {
                    NavigationLink(value: AppViews.kombuchaProductsView) {
                        HStack {
                            Text("View all Kombuchas")
                            Spacer()
                            Image(systemName: "list.bullet")
                        }
                    }
                    NavigationLink(value: AppViews.coffeeProductsView) {
                        HStack {
                            Text("View all Coffees")
                            Spacer()
                            Image(systemName: "list.bullet")
                        } …
Run Code Online (Sandbox Code Playgroud)

drag swiftui swiftui-navigationlink ios16 swiftui-navigationstack

9
推荐指数
3
解决办法
1537
查看次数