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议你使用原来的O​​bj-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博客上看到更多关于它的信息 。