gpt4 book ai didi

swift - Firebase Cloud Functions 不会从 iOS 应用程序中触发

转载 作者:搜寻专家 更新时间:2023-11-01 05:32:25 24 4
gpt4 key购买 nike

我正在构建一个使用 Firebase 作为后端的 iOS 应用程序,并且需要使用 Firebase Callable Cloud Functions。我已按照文档和函数进行所有设置,并在从浏览器或 curl 启动时按预期运行,但我无法让它们从我的应用程序中启动。

我已经使用这些功能设置了一个测试应用程序,但我也无法从 iOS 应用程序中触发它。甚至不是一个基本的 Hello World 。什么都打不通。

已完成以下所有操作:

Firebase 方面:

  1. Firebase 已成功连接到应用
  2. 在本地安装/初始化 Firebase 功能。
  3. 尝试使用 Javascript 和 TypeScript 在 VSCode 中编写函数代码
  4. 已成功部署到 Firebase 并可以在控制台中看到功能
  5. 在本地服务器上通过命令行和浏览器测试的功能都按预期工作

iOS 端:

  1. Pod 安装了 Firebase 函数
  2. 将 Firebase 函数导入 ViewController
  3. 使用 Firebase SDK 在 Firebase 上调用与函数名称匹配的函数 - 附加到按钮触发器

我什么也没得到...按钮上的打印语句有效,但该函数没有触发,并且没有任何内容记录到 Firebase 日志中。

我在这里遗漏了什么或做错了什么?

尝试使用新的 Firebase 实例创建新项目。直接从 Firebase 文档中的示例复制代码,并一步步遵循所有内容

Firebase 代码

const functions = require('firebase-functions');
const admin = require('firebase-admin')

exports.helloWorld = functions.https.onCall((data, context) => {

const text = data.text;
console.log("Text: " + text);
const uid = context.uid;
console.log("UID: " + uid);
const name = context.name;
console.log("Name: " + name);


console.log('Hello world fucking worked baby!');
return {
message: text
}
});

银行代码

import UIKit
import FirebaseFunctions

class ViewController: UIViewController {

lazy var functions = Functions.functions()

override func viewDidLoad() {
super.viewDidLoad()
}

@IBAction func fireFunction(_ sender: Any) {
print("Button Fire")

let data = ["text": "hello!"]

functions.httpsCallable("helloWorld").call(data) { (result, error) in
print("Function returned")
if let err = error {
print(err)
}

if let res = result {
print(res)
}
}
}
}

最佳答案

如果从浏览器调用 Google Cloud Function,它似乎工作正常。您还可以查看 Cloud Functions 的日志。只需转到 Cloud Functions 页面并单击您的函数。单击 VIEW LOGS 按钮并尝试再次调用该 URL,如果 Swift 调用它的方式有错误,它将被记录在那里。

我没有经常使用 iOS Swift,但由于您正尝试通过互联网调用该功能,我认为您可能需要授予应用程序访问互联网的权限。看起来调用从未在 Cloud Function 中启动,这就是它未被触发的原因。

我假设 Cloud Function 是 HTTP 触发的。因此,作为解决方法,您可以调用从 App 发起 HTTP 请求的函数。同样,这不会起作用,除非您确保您的应用程序具有使用互联网的权限。

关于swift - Firebase Cloud Functions 不会从 iOS 应用程序中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54432250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com