如何使用工作空间将私有Objective-C框架嵌入到Xcode 6上的iOS应用程序中
我写了一个小的私有框架,我想在几个iOS应用程序之间共享。
这是我设想的工作流程:
- 从源代码管理中提取SimpleApp。
- 从源代码管理中提取BobFramework。
- 不知何故使用Xcode将BobFramework嵌入到SimpleApp中。
- 建立项目。
- 完成!
问题是如何完成“使用Xcode嵌入”步骤?
我找不到如何执行此操作的分步说明。 Apple的文档是一个过时的谎言。
我发现的所有Stack Overflow问题都假设读者知道整个过程,我无法收集足够的上下文线索来填写隐含的步骤。 事实上,我想说很多问题都源于Apple没有现代出版的程序,因此很多人都遵循隐含或猜测的步骤。
我发现的最直接,最简单,最完整和最新的步骤主要适用于Swift。 Swift的程序是明智的,我希望我使用它,但我使用的是Objective-C。
我已经尝试了几个基于我猜测程序的实验,但是正确的程序可能有很多可能性,我不认为发布我的具体问题之一是正确的方法。 毕竟,我所做的一切导致我的问题可能是不正确的。
我花了一段时间来解决这个问题,但我做到了。 我在博客上发布了一个更详细的答案,有几个屏幕截图。
现在为Stack Overflow压缩该答案。 我将通过示例食谱解释。
初始点:
- 工作区名为SandBox2,项目名为Pen1。
- BobLib是自己项目中框架的名称。
- 由File |创建 新的| 项目,iOS | 框架和图书馆| Cocoa Touch Framework。
- 在单独的项目中模拟我的特定情况。 如果你有机会,你可能应该从框架开始已经是工作区的一部分。
- 头文件Newhart.h包含
doThatThing
方法声明。
目标: Pen1中的ViewController在Newhart类的实例上调用doThatThing
。
脚步:
- 在BobLib.h中导入Newhart.h
#import
- 指定Newhart.h为公共 。
- 在Project Navigator中选择Newhart.h。
- 在公用事业区| 文件检查器| 目标会员将“项目”更改为“公共”。
- 为模拟器和设备构建BobLib。
- 按住Control键并单击BobLib.framework,然后选择在Finder中显示。
- 在Xcode中打开Sandbox2。
- 将BobLib.framework从Finder窗口拖到Pen1。
- 项目| 目标| 一般| 嵌入式二进制文件,添加BobLib.framework。
- BobLib.framework应该已经在Project |中 目标| 一般| 链接的框架和库。
- 运行并测试应用程序。 它应该能够在Newhart实例中调用
doThatThing
。 - 这仅适用于iOS 8或更高版本。
- SWIFT – 在MKMapView中显示当前位置和更新位置
- 使用iOS中的Firebase和Geolocator(或任何Swift插件)构建错误(Flutter)
- 采用iOS 10的DLNA / UPNP技术
- IBM MobileFirst Platform Foundation(MFP)和Bluemix IMFCore SDK中的重复符号
- 用于添加图像和滚动图标到表格视图的逻辑
- UISplitViewController在Storyboard中隐藏/取消隐藏MasterView
- 什么时候应该从closures的ViewController类中观察持续的Model类调用removeObserver:forKeyPath?
- iOS – 在Google Drive API上使用上传图片(错误“GTLServer …中的声明失败”)
- 导入到CoreData时检查重复项