OSX链接错误的Fabric Answers

Posted

技术标签:

【中文标题】OSX链接错误的Fabric Answers【英文标题】:Fabric Answers for OSX link error 【发布时间】:2016-01-19 21:36:03 【问题描述】:

尝试在 OSX 平台上使用刚刚公布的 Answers 框架:

pod 'Fabric'
pod 'Answers'
pod 'Crashlytics'

#import <Fabric/Fabric.h>
#import <Answers/Answers.h>
#import <Crashlytics/Crashlytics.h>

[Fabric with:@[[Crashlytics class], [Answers class]]];

得到一堆错误:

...
duplicate symbol _OBJC_METACLASS_$_CLSAnswersInviteEvent in:
/Users/k06a/Projects/UXMaterial/Pods/Answers/OSX/Answers.framework/Answers(CLSAnswersInviteEvent.o)
/Users/k06a/Projects/UXMaterial/Pods/Crashlytics/OSX/Crashlytics.framework/Crashlytics(CLSAnswersInviteEvent.o)
ld: 200 duplicate symbols for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

【问题讨论】:

【参考方案1】:

那是因为Crashlytics 框架内部已经包含Answers 框架。你只需要这样做:

Pod 文件:

pod 'Fabric'
pod 'Crashlytics'

您的 AppDelegate.m:

#import <Fabric/Fabric.h>
#import <Crashlytics/Answers.h>
#import <Crashlytics/Crashlytics.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
    ...
    [Fabric with:@[[Crashlytics class], [Answers class]]];
    ...

【讨论】:

对于 swift 仅导入 Fabric 和 Crashlytics,因为 Answers 对象包含在 Crashlytics 中:)

以上是关于OSX链接错误的Fabric Answers的主要内容,如果未能解决你的问题,请参考以下文章

Fabric.io Crashlytics 和 Answers 初始化

OSX 的 Cython 链接错误

OSX 命令行应用程序链接器错误

如何使用 Fabric 的 Answers 或 Google Analytics 获取当前 Android 用户的事件计数?

OSX上的clang:-finstrument-functions链接错误

在 OSX El Capitan 中使用 Homebrew 的 Boost::Log 链接错误