iOS pod安装gcm和pnchartswift
我在我的项目中使用PNChartSwift和GCM。 我需要使用“use_frameworks!” 对于PodFile中的PNChartSwift,所以对于GCM我不能使用“use_frameworks!” 在PodFile中
我将如何使用gcm?
logging错误“pod安装”
Using PNChartSwift (0.0.2) Using STZPopupView (1.0.1) [!] The 'Pods' target has transitive dependencies that include static binaries: (/Users/Sina/Desktop/MyShatelIOS/MyShatel/Pods/GGLInstanceID/Libraries/libGGLInstanceIDLib.a, /Users/Sina/Desktop/MyShatelIOS/MyShatel/Pods/Google/Libraries/libGGLCloudMessaging.a, /Users/Sina/Desktop/MyShatelIOS/MyShatel/Pods/Google/Libraries/libGGLCore.a, /Users/Sina/Desktop/MyShatelIOS/MyShatel/Pods/GoogleCloudMessa
不幸的是,混合静态和dynamic库是不可能的,它是全有或全无的。
相反,我会build议你使用原来的Obj-C版PNChart ,它可以解决你的问题,使用GCM。
这意味着你的podfile看起来类似于以下内容:
pod "PNChart" pod "Google/CloudMessaging"
导入PNChart
时唯一不同的PNChart
是添加一个导入这些库的Briding头文件。 这将使它们在代码中的任何地方都可用。 它看起来像下面这样:
#import <PNChart.h> #import <Google/CloudMessaging.h>
更新1:
回答OP关于如何识别静态/dynamic的问题。
根据经验:
- 所有用Swift编写的依赖都是dynamic的框架。
- 用Obj-C编写的所有依赖项都是静态库。
苹果不会让你build立包含Swift的静态库,所以第一条语句永远是真的。 第二种说法稍微复杂一些,因为之前苹果已经在Obj-C中构build了很多dynamic的内部框架。 这种可能性在iOS 8之前还没有提供给第三方开发人员(与Swift同时发布),所以不要指望用Obj-C编写的新框架是dynamic的,因为它们也可以用Swift编写。
在这两种语言之间切换的时候,我们现在处在一个“不灵活”的阶段。 在1 – 2年内,希望所有第三方依赖项的大部分都将用Swift编写,我们不必担心静态/ dyanmic这样的事情。
如果你有兴趣,那么你可以在0.36版本官方的CocoaPods博客上看到更多关于它的信息 。