【发布时间】:2019-06-25 20:25:44
【问题描述】:
在 Flutter 插件中,我想在我的 iOS 部分中使用 Objective-C 框架,用 swift 编写,然后在使用 Swift 作为 iOS 语言的 Flutter 项目中使用它。经过一些研究(我不是 iOS 开发人员)我发现我想做的可以通过在 swift 和 Objective- 之间导入 充当桥接标题的文件中的标题来实现C,但是如果在 Podfile 中定义了use_frameworks!(据我所知),flutter 插件中的桥接头是自动创建的,而且我不明白如何从Objective-C (我认为是通过在 podspec 中定义一些东西,但我不知道) pod in that。事实上,如果我尝试从 Objective-C pod 中导入某些内容,XCode 会抱怨(以及编译器)会说它 "doesn't find the module with name <framework name>" 或者它无法构建 Objective-C代码。如果我尝试在 Objective-C 插件中使用该框架,我可以使用它,但前提是我从项目 Podfile 中注释掉 use_frameworks!
最后,我想知道是否可以在 Swift 插件中使用 Objective-c 外部框架来开发 Flutter 插件。
【问题讨论】:
-
这个运气好吗?我在同一条船上......
-
嗯,不是真的。最后我发现可以从播客文件中导入不同的 pod,问题是当有一些东西是不能用命令“pod
”得到的。此时真的很难编写正确的播客配置,这取决于 .framework 文件的服务方式。例如:有一个本地 .framework 文件,该文件内部没有要使用的标头,但要在外部使用。 -
@LorenzoImperatrice 你能分享一下你是如何以“pod
”的方式做到的吗? -
对不起,最后我没有用 'pod
' 这样做,因为那一刻不是正确的。无论如何,这很容易,并且网上有大量指南。我建议始终检查link,这是官方指南。指定您只需要在您的 podspec 中编写如下内容: spec.dependency 'SocketRocket'即可从您的项目中获取依赖项。
标签: ios objective-c swift flutter cocoapods