1

我需要在我的项目中使用JiraMobileConnectAppcelerator框架。我猜 Appcelerator 框架在内部使用了与JiraMobileConnect相同的 CrashReporter,我得到了很多重复符号错误。 在此处输入图像描述

我看到 CrashReporter 框架在 PLCrashReporterNamespace.h 文件中有这个,

/*
 * For external library integrators:
 *
 * Set this value to any valid C symbol prefix. This will automatically
 * prepend the given prefix to all external symbols in the library.
 *
 * This may be used to avoid symbol conflicts between multiple libraries
 * that may both incorporate PLCrashReporter.
 */
// #define PLCRASHREPORTER_PREFIX AcmeCo

#ifdef PLCRASHREPORTER_PREFIX

所以我在 Pods 下的 JiraConnect 目标中设置了一个预处理器宏PLCRASHREPORTER_PREFIX=EM,但现在我得到一个未定义的符号错误。

未定义符号错误

我找到了这个SO Question,答案说

您需要使用相同的宏定义重新编译相应的框架(所有 .c 文件),以便它导出并使用修改后的符号名称。

那么除了下载PLCrashReporter源代码重新编译库之外还有什么办法吗?即使我这样做,有什么方法可以让它与 cocoapods 一起工作?我还发现有一个PLCrashReporter pod,所以我想一定有办法让所有这些冲突消失,而且我肯定不是第一个遇到这个确切或类似问题的人。如果有人可以在这里帮助我,我真的很感激。

4

0 回答 0