在Swift项目中使用可可豆荚0.37.0,使用use_frameworks!设置在podfile中时,我无法访问GoogleAnalytics-iOS-SDK pod的头文件。
我应该如何在我的应用程序中访问Google Analytics pod的标题?
我试过了;
import GoogleAnalytics_iOS_SDK
在Swift文件中,cocoapods 0.36样式。但是现在还没有创建框架,所以不是很好。
#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中没有),符号被编译到应用程序中并在运行时可用。但我没有访问标题的权限。
发布于 2015-11-16 12:04:47
另一个技巧是将长相对路径添加到桥接头。
这避免了对项目设置进行更改,这些设置可能会在您下次运行‘`pod install’时被覆盖:
#import "../../Pods/GoogleAnalytics/Headers/Public/GAI.h"
#import "../../Pods/GoogleAnalytics/Headers/Public/GAIFields.h"
#import "../../Pods/GoogleAnalytics/Headers/Public/GAIDictionaryBuilder.h"
它在运行你的单元测试时也是有效的,这是我尝试过的另一个解决方案没有做到的。
发布于 2015-05-05 00:56:47
我不知道这是不是正确的答案,但我们让它工作的方法是手动导入libGoogleAnalyticsServices.a
,而不是通过cocoapods。
找到libGoogleAnalyticsServices.a
并将其拖到项目中,然后将其添加到Linked Frameworks and Libraries
中(如果它还不在那里),就可以开始了。不要忘记将其从Podfile
中删除。
编辑:
不要忘记将头文件添加到您的桥接头中
发布于 2015-12-29 12:06:27
我在CocoaPods 0.39.0上也遇到过类似的问题。
在生成设置'OTHER_LDFLAGS‘中的$(继承)解决了这个问题。
https://stackoverflow.com/questions/30020578
复制相似问题