在 Flutter 中安装原生 iOS pod

Posted

技术标签:

【中文标题】在 Flutter 中安装原生 iOS pod【英文标题】:Install native iOS pod in flutter 【发布时间】:2020-07-28 05:32:10 【问题描述】:

我在使用 pod 时在 ios 端制作颤振插件时遇到错误。 pod 安装成功,然后我也可以将它们导入文件中。

我尝试使用的 pod 是 Freshchat iOS SDK

安装 pod 的步骤

    开始一个新的 Flutter 插件项目。

    .podspec文件中添加s.dependency 'FreshchatSDK'

    example/ios 文件夹中运行pod install

    我遇到了一个错误

    The 'Pods-Runner' target has transitive dependencies that include statically linked binaries: (/Users/nimish/FlutterProjects/freshchat_flutter/freshchat_flutter/example/ios/Pods/FreshchatSDK/FreshchatSDK/libFDFreshchatSDK.a)

    我在 this comment 之后从 podfile 中删除了 use_frameworks!

    我再次运行 pod install 并成功安装了 pod,并创建了 Pods 文件夹,其中包含 FreshchatSDK 文件夹。

现在我的项目中需要有use_frameworks!,因为其他插件因此无法编译。

    我在.podspec 中添加了s.static_framework = true,在podfile 中添加了use_frameworks!。现在pod install运行成功了,

    在我的 Plugin.h 文件中添加导入 #import "FreshchatSDK.h" 后,出现错误

    error: include of non-modular header inside framework module

我尝试了this answer,但无法解决。

请帮我解决这个问题。我会尊重你的时间。

还有另一个 Flutter 插件可用 here,但它有很多问题,一个未处理的案例导致我的 iOS 应用程序崩溃,所以我想自己制作。

【问题讨论】:

【参考方案1】:

由于 Target 不匹配,PodFile 中可能存在问题。 当这种情况发生在我身上时,我使用了这些简单的步骤。

    删除 Pod 文件 在特定文件打开终端 Pod init 打开 Podfile 并添加依赖项 Pod install

【讨论】:

以上是关于在 Flutter 中安装原生 iOS pod的主要内容,如果未能解决你的问题,请参考以下文章

通过 Google Ads 在 Flutter 中安装 Referrer

Pod install 未在 Flutter 应用程序中安装 Pod

如何在 Xcode macosx 中安装颤振和飞镖?

在 Flutter VScode 中运行调试 ios 应用程序时出错

Flutter入门:在macOS中安装Flutter

不在yaml文件flutter中安装包bloc或flutter bloc