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

时间:2018-12-05 10:27:29

标签: ios swift flutter cocoapods platform-specific

我正在尝试使用Cocoapods库(用于外部SDK),但是我没有找到任何文档来做到这一点。我已经通过在Gradle文件中添加一行来将其集成到Android部分中。

简而言之,我想创建一个Podfile(或找到它),在其中我可以添加依赖项并在AppDelegate.swift文件中使用它。

到目前为止,我尝试在ios /文件夹中运行pod init,然后添加我的广告连播(例如pod 'Charts')并运行pod install,但是它说:

  

[!] CocoaPods未设置项目的基本配置,因为您的项目已具有自定义配置集。为了使CocoaPods集成完全正常工作,请将目标Runner的基本配置设置为Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig或在构建配置(Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig中包括Flutter/Release.xcconfig

然后当我尝试在Xcode上构建时,它给了我这个错误:

  

错误:沙箱与Podfile.lock不同步。运行“ pod install”或更新您的CocoaPods安装。

我认为我的方法正确,在Flutter.io文档中我找不到任何帮助。

预先感谢您的帮助!

3 个答案:

答案 0 :(得分:3)

在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

答案 1 :(得分:0)

您是否已将项目目标添加到Podfile? 像这样:

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


target 'My Project' do
  swift_frameworks
end

答案 2 :(得分:0)

只需将您的Pod放在Podfile文件夹下的ios文件的末尾,例如:

pod 'UMCAnalytics'

默认情况下,此文件中包含一些代码,但只需忽略它们,然后将您的广告连播添加到它们下面即可。之后,运行:

pod update 

然后您将看到已安装的吊舱。