Firebase 云函数一直响应 Code=-1001 "The request timed out."

Firebase cloud function responding Code=-1001 "The request timed out." all the time

我正在 android 和 ios 中使用 firebase 云函数版本 6.5.0 在网络中和 2.5.1 在 ios 中开发应用程序,android 端运行良好,但在 swift 中,我每次调用函数时都会收到代码=-1001 "The request timed out."。

我已经尝试了调用我的函数的所有方法,例如使用 "functions.httpsCallable" 、 "alamofire" 或 "URLRequest" 调用,但每次我得到代码=-1001 "The request timed out."错误,函数日志中未打印任何内容。我已经尝试过邮递员并且它正在工作。我想我的代码、配置或我的 sdks 版本有问题。

请帮我解决这个问题。

这是我的简单测试api函数:

exports.testApi = functions.region('europe-west1').https.onCall((data, context) => {
    const message = data.message;

    return {
        message : message
    }
});

这些是我的 swift 代码:

let data = ["message": "test"]

G.functions.httpsCallable("testApi").call(data) { (result, error) in
    if let error = error as NSError? {
         if error.domain == FunctionsErrorDomain {
              let code = FunctionsErrorCode(rawValue: error.code)
              let message = error.localizedDescription
              let details = error.userInfo[FunctionsErrorDetailsKey]

              print("\(code!) \(message) \(String(describing: details))")
         }
    }

    if result?.data != nil {
        print("result \(result!.data)")
    }
}        

这是我的Gclass:

class G{

static var functions = Functions.functions(region: "europe-west1")

.
.
.

这是我的日志

2019-07-24 23:42:07.781273+0430 AppName[3188:858764] Task <234AF689-0252-4BEC-87E1-CF376AD50E17>.<1> finished with error - code: -1001
2019-07-24 23:42:07.785188+0430 AppName[3188:858780] Task <234AF689-0252-4BEC-87E1-CF376AD50E17>.<1> load failed with error Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={_kCFStreamErrorCodeKey=-2102, NSUnderlyingError=0x283d489f0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <234AF689-0252-4BEC-87E1-CF376AD50E17>.<1>, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    "LocalDataTask <234AF689-0252-4BEC-87E1-CF376AD50E17>.<1>"
), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://europe-west1-AppName.cloudfunctions.net/testApi, NSErrorFailingURLKey=https://europe-west1-AppName.cloudfunctions.net/testApi, _kCFStreamErrorDomainKey=4} [-1001]
2019-07-24 23:42:07.794172+0430 AppName[3188:858764] Task <234AF689-0252-4BEC-87E1-CF376AD50E17>.<1> HTTP load failed (error code: -999 [1:89])
FIRFunctionsErrorCode DEADLINE EXCEEDED nil

经过很长时间的尝试,我发现了问题所在。 我使用 VPN 连接到 firebase,但 L2TP VPN 即使在 Web 控制台中也无法连接到 firebase,所以我将 VPN 更改为 IKEv2,问题就解决了。