我正在开发一个Cocoa Touch Framework,它使用了几个第三方静态库和框架。对于其中一些我有一个源代码。对于其他人,我不会。 问题是当使用我的框架的人想要使用相同的第三方静态库和框架时,他会遇到控制台日志,如:
Class <ClassName> is implemented in both <Path to my framework> and <Path to my app>. One of the two will be used. Which one is undefined.
我的框架是用Objective-C编写的。
如何在我自己的动态框架中完全隐藏第三方库和框架,以便使用我的框架的开发人员也可以使用相同的第三方静态库和框架而没有任何冲突?
答案 0 :(得分:0)
您在日志中看到的错误是您为框架的目标和应用程序的目标编译第三方库的源文件的结果。您很可能会在Compile Sources
构建阶段看到两个目标的源文件。
要解决此问题,请从应用的Compile Sources
构建阶段删除文件,因为没有必要将它们放在那里。没有必要为已经链接/编译到框架中的应用程序链接/编译库。