在我的 iOS 应用程序中实施 pod 'Firebase/Firestore' 后无法运行应用程序

Posted

技术标签:

【中文标题】在我的 iOS 应用程序中实施 pod \'Firebase/Firestore\' 后无法运行应用程序【英文标题】:Can not run app after implementing pod 'Firebase/Firestore' in my iOS App在我的 iOS 应用程序中实施 pod 'Firebase/Firestore' 后无法运行应用程序 【发布时间】:2020-02-03 14:49:36 【问题描述】:

我正在尝试将 Firestore 添加到我的应用程序中,但它给了我这个错误:使用未声明的标识符 'SSL_get_secure_renegotiation_support';您的意思是“GRPC_SHADOW_SSL_get_secure_renegotiation_support”吗?

【问题讨论】:

点击修复看看会发生什么 关于工作区的构建设置的某些内容可能会干扰 grpc 搜索路径。 【参考方案1】:

这里我给你带来一个临时解决方案。

The following lines of this file must be commented:
"/Pods/BoringSSL-GRPC/src/include/openssl/ssl.h"

// #define SSL_CTX_set_tlsext_servername_callback \
// SSL_CTX_set_tlsext_servername_callback
// #define SSL_get_secure_renegotiation_support \
// SSL_get_secure_renegotiation_support

They can do it with a post processor that runs after the install pod:

public class DisableFirestoreSsl
    
        [PostProcessBuild (51)]
        public static void Execute (BuildTarget buildTarget, string pathToBuiltProject)
        
            if (buildTarget! = BuildTarget.ios) return;
            var filePath = pathToBuiltProject + "/Pods/BoringSSL-GRPC/src/include/openssl/ssl.h";
            File.SetAttributes (filePath, FileAttributes.Normal);
            var fileContent = File.ReadAllText (filePath);
            fileContent = DisableDirective (fileContent, "SSL_CTX_set_tlsext_servername_callback");
            fileContent = DisableDirective (fileContent, "SSL_get_secure_renegotiation_support");
            File.WriteAllText (filePath, fileContent);
        

        private static string DisableDirective (string input, string directive)
        
            return Regex.Replace (input, $ "# define directive. * \ n .. * directive", $ "// Disable directive");
        
    

【讨论】:

【参考方案2】:

“替换”有用吗?如果没有,卸载并重新安装你的 podfiles 可能是最好的选择(虽然它很烦人)。我遇到过类似的错误,对于为什么这是一个错误没有任何意义。 Uninstalling and reinstalling 每次都为我工作。

【讨论】:

以上是关于在我的 iOS 应用程序中实施 pod 'Firebase/Firestore' 后无法运行应用程序的主要内容,如果未能解决你的问题,请参考以下文章

在单个CameraSource(Google移动视觉)中实施FaceDetector和TextRecognizer

我们需要在Swift 3中使用哪个Pod来实现iOS中的图表?

在 Ionic 2 中实施地理定位跟踪时出错

Flutter iOS 不使用 pod

您如何在您的网站中实施 quickblox?

在我的 iOS 应用程序中添加 PayPal pod 后获取 UIWebview api 弃用消息