首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >找不到Cocoapods 0.37、Swift、frameworks的GoogleAnalytics-iOS-SDK的标头

找不到Cocoapods 0.37、Swift、frameworks的GoogleAnalytics-iOS-SDK的标头
EN

Stack Overflow用户
提问于 2015-05-04 07:31:43
回答 3查看 6.5K关注 0票数 18

在Swift项目中使用可可豆荚0.37.0,使用use_frameworks!设置在podfile中时,我无法访问GoogleAnalytics-iOS-SDK pod的头文件。

我应该如何在我的应用程序中访问Google Analytics pod的标题?

我试过了;

代码语言:javascript
复制
import GoogleAnalytics_iOS_SDK

在Swift文件中,cocoapods 0.36样式。但是现在还没有创建框架,所以不是很好。

代码语言:javascript
复制
#import <GoogleAnalytics_iOS_SDK/GAI.h>

在桥接头中,但不起作用(没有模块映射?)

我读到在cocoapods 0.37 (see this commit)中,只在“sourse_files”中包含报头的pods的行为发生了变化。这似乎是对use_frameworks在0.36 (see this SO question)中使用这些pod导致的问题的回应。

随着Cocoapod行为的改变,静态库被正确地集成在一起(0.36中没有),符号被编译到应用程序中并在运行时可用。但我没有访问标题的权限。

EN

回答 3

Stack Overflow用户

发布于 2015-11-16 12:04:47

另一个技巧是将长相对路径添加到桥接头。

这避免了对项目设置进行更改,这些设置可能会在您下次运行‘`pod install’时被覆盖:

代码语言:javascript
复制
#import "../../Pods/GoogleAnalytics/Headers/Public/GAI.h"
#import "../../Pods/GoogleAnalytics/Headers/Public/GAIFields.h"
#import "../../Pods/GoogleAnalytics/Headers/Public/GAIDictionaryBuilder.h"

它在运行你的单元测试时也是有效的,这是我尝试过的另一个解决方案没有做到的。

票数 3
EN

Stack Overflow用户

发布于 2015-05-05 00:56:47

我不知道这是不是正确的答案,但我们让它工作的方法是手动导入libGoogleAnalyticsServices.a,而不是通过cocoapods。

找到libGoogleAnalyticsServices.a并将其拖到项目中,然后将其添加到Linked Frameworks and Libraries中(如果它还不在那里),就可以开始了。不要忘记将其从Podfile中删除。

编辑:

不要忘记将头文件添加到您的桥接头中

票数 2
EN

Stack Overflow用户

发布于 2015-12-29 12:06:27

我在CocoaPods 0.39.0上也遇到过类似的问题。

在生成设置'OTHER_LDFLAGS‘中的$(继承)解决了这个问题。

https://stackoverflow.com/a/32004207/3129306

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30020578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档