通过 cocoapods 在 swift 项目(iOS 8.0 目标)中添加 Facebook Pop 是不可能的

Posted

技术标签:

【中文标题】通过 cocoapods 在 swift 项目(iOS 8.0 目标)中添加 Facebook Pop 是不可能的【英文标题】:Adding Facebook Pop in swift project (iOS 8.0 target) through cocoapods impossible 【发布时间】:2015-07-24 10:04:29 【问题描述】:

我正在尝试使用 Cocoapods 将 FB 著名的动画框架“Pop”添加到我的项目中。

这个过程对我来说似乎很简单,但不知何故我收到了一个链接器错误:

我通过CocoaPods安装Pop的过程如下:

-我转到终端中的根项目文件夹并执行pod init。这将创建我的Podfile

-我打开我的Podfile 并添加pod 'pop', '~> 1.0'

# Uncomment this line to define a global platform for your project
# platform :ios, '6.0'

target 'Test' do
pod 'pop', '~> 1.0'
end

target 'TestTests' do

end

-然后,我执行pod install,它将CocoaPods 添加到我的项目中。

-我在我的终端中获得此信息:

[!] Please close any current Xcode sessions and use `Test.xcworkspace` for this project from now on.

-我打开该文件而不是我的常规项目,我收到一堆错误和警告:

为什么会这样?我究竟做错了什么?我错过了什么?我是否跳过了程序中的某些内容?

另外,我在 Xcode 的测试项目中的框架下得到一个红色文件(我猜它没有找到正确的文件):

我认为手动安装会更容易,但我不知道该怎么做。如果有人知道该怎么做,我将非常感谢您能就此事提供任何帮助,如果没有,通过 cocoapods 正确安装它就可以了。

非常感谢任何帮助!

提前谢谢你!

干杯!

【问题讨论】:

【参考方案1】:

在您的 podfile 中,添加以下行:

inhibit_all_warnings! # this will disable all the warnings for all pods

然后再次运行 pod install,这将从您的构建中删除与 pod 相关的所有警告(无需担心它们)。

至于红色的,似乎它们没有连接到 POP 框架,而是连接到 Facebook SDK(POP 不需要 AFAIK 才能工作)。你确定你没有错过一些你忘记添加到你的 pod 文件的其他库吗?

【讨论】:

为了使这更容易,我刚刚创建了一个空白项目并在那里安装了 cocoapods。我在 cmets 之后添加了该行,它似乎可以编译。你知道我如何使用这个框架吗?我需要使用头文件吗? 您需要使用桥接头(如果您还没有,请按照本教程操作:bohemianpolymorph.wordpress.com/2014/07/11/…)。然后,将 #import "POP.h" 添加到该桥接头。然后你就可以在你的应用中到处使用 pop。 我确实有一个桥接头。我有点得到它的工作。现在我只能看到方法,例如 pop_addAnimation 和 pop_addAnimationForKey... 但每当我尝试从 POP 类创建对象时,例如 POPBasicAnimation -> var animation:POPBasicAnimation = POPBasicAnimation() 它说 Use of undeclared type 'POPBasicAnimation' ... 所以我没有得到类文件?我猜??

以上是关于通过 cocoapods 在 swift 项目(iOS 8.0 目标)中添加 Facebook Pop 是不可能的的主要内容,如果未能解决你的问题,请参考以下文章

Alamofire 不会使用 Cocoapods 构建空的 Swift 项目

静态 Swift 框架未能通过 CocoaPods 验证,并显示“未定义的架构符号”

MagicalRecord 如何使用 CocoaPods 设置新的 Swift 项目使用:branch => 'develop' 即 2.3.0-beta.5

在 swift 项目中集成 swift 框架,都使用 cocoapods

如何在swift中使用cocoapods导入的第三方oc库

在 Swift 和 Objective-C 项目中使用 CocoaPods