iOS框架问题:类是在两个实现

我正在使用第三方框架类的iOS框架项目,所以我在链接框架和库部分添加了第三方框架。

当我在我的iOS应用程序项目中添加我的自定义框架时,我得到每个类的警告

objc [3139]:类“class_name”在/private/var/containers/Bundle/Application/C131AF0F-7CF8-4360-8716-3E8A595169D6/'app_name'.app/Frameworks/'framework_name'.framework/'framework_name '和/var/containers/Bundle/Application/C131AF0F-7CF8-4360-8716-3E8A595169D6/'app_name'.app/'app_name'。 将使用两者之一。 哪一个是未定义的

iOS应用程序项目也与该第三方框架链接。 所以我觉得得到这个问题是因为我的框架还包含第三方框架的编译版本。

我没有find任何适当的解决scheme。 谁能告诉我如何摆脱这个?

有什么办法可以让它工作吗?

tl; dr请勿将第三方框架链接到应用程序目标的构build阶段Link Frameworks Automatically使用Link Frameworks Automatically


为了更清楚一点,让我举个例子。 有一个名为CrashReporter.framework的第三方框架。 自定义框架被称为HockeySDK.framework(链接到CrashReporter.framework)。 然后我有我的应用程序称为WeatherApp(链接到HockeySDK.framework)。

 CrashReporter.framework <--- ^ | | | | XXX NO! DONT'T LINK THIS! HockeySDK.framework | ^ | | | | | WeatherApp ----------------- 

链接CrashReporter.framework 链接在WeatherApp目标中的构build阶段链接二进制库部分(即使天气应用程序需要CrashReproter.framework构build)。 我转到WeatherApp目标的“ 生成设置” ,并确保“ Link Frameworks Automatically (并在iOS上Enable Modules (C and Objective-C) )设置为“ Yes