在 Flutter iOS 平台特定代码中使用 Cocoapods 库
Posted
技术标签:
【中文标题】在 Flutter iOS 平台特定代码中使用 Cocoapods 库【英文标题】:Using Cocoapods libraries in Flutter iOS platform specific code 【发布时间】:2019-05-06 21:28:21 【问题描述】:我正在尝试使用 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
或在构建配置中包含Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig
(Flutter/Release.xcconfig
)。
然后当我尝试在 Xcode 上构建时,它给了我这个错误:
错误:沙盒与 Podfile.lock 不同步。运行“pod install”或更新您的 CocoaPods 安装。
我认为我的做法是正确的,但在 Flutter.io 文档方面没有任何帮助。
提前感谢您的帮助!
【问题讨论】:
你能发布你的 Podfile 内容吗? 我刚刚添加了一些细节来指定我尝试过的内容,但我的问题是我不知道将 cocoapods 库添加到 Flutter 应用程序的 ios 端的正确方法。 【参考方案1】:在ios/
文件夹中运行pod init
和pod 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
【讨论】:
谢谢!已经有一段时间了,所以我已经解决了这个问题,但我忘了把它添加到我原来的帖子中^^' 就我而言,这些是自动添加的。 这将在项目清理时被删除。【参考方案2】:只需将您的 pod 放在 ios
文件夹下的 Podfile
文件的末尾,例如:
pod 'UMCAnalytics'
默认情况下,此文件中有一些代码,但只需忽略它们并将您的 pod 添加到它们下方。之后,运行:
pod update
然后您将看到已安装的 pod。
【讨论】:
【参考方案3】:您是否将项目目标添加到您的Podfile
?
类似的东西:
def swift_frameworks
pod 'PodName', 'X.X'
end
target 'My Project' do
swift_frameworks
end
【讨论】:
您好,感谢您的回答。但是,我的问题是我在颤振生成的应用程序中找不到任何 Podfile(例如在 ios/ 文件夹中)。我应该用pod init
创建一个吗?还是有其他方法?以上是关于在 Flutter iOS 平台特定代码中使用 Cocoapods 库的主要内容,如果未能解决你的问题,请参考以下文章
如何从用 Swift 编写的 Flutter 平台特定代码启动 ViewController?