ios – 从另一个框架和应用程序目标访问框架

我不确定如何正确配置构建设置,以便我在另一个框架和我的应用程序目标之间共享框架 – 在这种情况下,共享框架是Facebook SDK,但我不确定这是否与我遇到的问题与否.

我希望如何工作:
我希望我的框架包含Facebook SDK,并且因为我的应用程序正在导入我的框架,它可以访问Facebook SDK.不幸的是我无法使用此配置构建.

首先,我尝试从“我的应用程序”中引用Facebook SDK中的任何内容时收到未解决的标识符构建错误.

如果我包含导入FBSDKLoginKit,那个构建错误就会消失,但是我无法用FBSDKLoginKit编译它不是一个dylib.如果我然后将Facebook SDK框架包含在“我的应用程序”目标构建设置中,我最终可以构建并运行,但是在运行时我得到控制台日志警告所有FBSDK类都在“我的应用程序”和“我的框架“和那个”将使用其中一个.哪一个是未定义的.“这完全合情合理,因为我现在基本上编译了两次Facebook SDK.

我认为我上面描述的是一个伞形框架,据我所知,Apple不鼓励这样做.鉴于“我的应用程序”需要访问“FBSDK”和“我的框架”,而“我的框架”需要访问“FBSDK”,配置“我的应用程序”和“我的框架”的构建设置的正确方法是什么获取有关重复实现的控制台日志

解决方法

实际上,这是cocoapods的一个已知问题,他们已经解决了它,但它尚未发布.我猜它将在下一个cocoapods更新中修复.

您的实施没有任何问题.

来源:https://github.com/CocoaPods/CocoaPods/pull/7601

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...