在Flutter iOS平台特定代码中使用Cocoapods库

12

我试图使用一个Cocoapods库(用于外部SDK),但我没有找到任何相关的文件。已经在Android部分中通过添加一行代码到Gradle文件将其集成。

简单地说,我想创建(或者找到)一个podfile,能够向其中添加我的依赖项并在AppDelegate.swift文件中使用它。

我尝试过的是在ios/文件夹中运行pod init,然后添加我的pod(例如pod 'Charts'),并运行pod install,但会显示:

[!] CocoaPods没有设置您的项目的基本配置,因为您的项目已经有一个自定义配置。为了让CocoaPods集成正常工作,请将目标Runner的基本配置设置为Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig或在您的构建配置(Flutter/Release.xcconfig)中包含Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig

然后在Xcode上尝试构建时,会给出以下错误:

error: 沙盒与Podfile.lock不同步。请运行'pod install'或更新您的CocoaPods安装。

我认为我正在正确操作,但在Flutter.io文档中找不到任何帮助。

非常感谢你的帮助!


请问你能发布一下你的 Podfile 内容吗? - marshallino16
我刚刚添加了一些细节来说明我尝试过什么,但我的问题是我不知道在Flutter应用程序的iOS端正确添加CocoaPods库的方法。 - julient-monisnap
3个回答

50
ios/文件夹中执行pod initpod install之后,添加:
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"

添加到ios/Flutter/Debug.xcconfig

并且添加

#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"

ios/Flutter/Release.xcconfig


谢谢!已经过了一段时间,所以我已经解决了这个问题,但是我忘记将它添加到我的原始帖子中了^^' - julient-monisnap
1
在我的情况下,这些是自动添加的。 - Praveena
这将在项目清理时被删除。 - Oliver Dixon

2
将您的Pods放在位于ios文件夹下的Podfile文件末尾即可,如下所示:

pod 'UMCAnalytics'

默认情况下,此文件中有一些代码,但只需忽略它们并在它们下面添加您的pod即可。然后执行以下命令:

最初的回答:

pod update 

then you will see the pods installed.


0
你是否已将项目目标添加到你的Podfile中? 类似这样:

def swift_frameworks
  pod 'PodName', 'X.X'
end


target 'My Project' do
  swift_frameworks
end

2
你好,谢谢你的回答。然而,我的问题是在Flutter生成的应用程序中(例如在ios/文件夹中)找不到任何Podfile文件。我应该使用pod init创建一个吗?还是有其他方法可以做到这一点? - julient-monisnap

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接