xcode6下制作iOS动态及静态Framework详解
111 浏览量
更新于2024-07-15
收藏 1.01MB PDF 举报
本文主要介绍了如何在Xcode6下创建动态和静态的iOS Framework,以及在使用过程中需要注意的问题。
在iOS开发中,制作SDK或封装常用工具类为Framework是常见的需求。Xcode6开始正式支持创建自己的Framework,使得这一过程变得更加便捷。然而,由于iOS-Universal-Framework项目不再维护,开发者被推荐使用Xcode6内置的功能来创建框架。
**创建iOS动态库**
1. **新建工程**:启动Xcode,选择"CocoaTouch Framework"作为默认Target。
2. **编码工作**:编写所需的类和方法,例如在这个例子中创建了一个名为Utils的类,并实现了一个log方法。
3. **设置公开头文件**:将需要对外公开的类放在"Public"子目录下,以便在其他项目中引用。
4. **生成Framework**:编译并运行项目,Xcode会在"DerivedData"目录下生成对应的Framework文件。
5. **测试Framework**:将生成的Framework导入一个新的测试工程,调用其内部的方法。如果出现"Image Not Found"错误,这是因为动态库需要添加到"Embedded Binaries"。
**解决动态库使用问题**
1. **解决Image Not Found错误**:在测试工程中,除了将Framework添加到"Linked Frameworks and Libraries"外,还需要将其添加到"Embedded Binaries"。这是因为在Xcode6之前,这个选项不存在,因此Xcode5及更早版本可能无法直接使用Xcode6创建的动态库。
**真机测试问题**
当尝试将测试工程部署到真机时,可能会遇到链接错误(ld: warning)。这是因为静态库和动态库在真机上的处理方式不同。对于动态库,除了在"Embedded Binaries"中添加外,还需要确保库的架构与目标设备匹配,通常需要包含`armv7`, `armv7s`, `arm64`等不同架构。在"Build Settings"中设置"Valid Architectures"和"Architectures",确保包含了所有必要的设备架构。
**静态库与动态库的区别**
虽然静态库和动态库都是代码封装的形式,但它们有显著的差异:
- **静态库**:静态库在编译时会被直接合并到目标应用程序中,增加应用大小,但不依赖于外部库,可以独立运行。
- **动态库**:动态库在运行时加载,不增加应用大小,多个应用可以共享同一动态库,节省设备存储空间。但是,动态库需要在设备上可用,否则应用无法运行。
通过理解这些步骤和注意事项,开发者可以更好地在Xcode6中创建和使用自定义的iOS Framework,无论是动态库还是静态库,都能更加高效地进行代码复用和分发。
2015-07-14 上传
2015-06-29 上传
点击了解资源详情
2020-09-01 上传
2019-03-28 上传
2020-08-31 上传
2022-07-12 上传
2022-04-04 上传
2021-10-14 上传
weixin_38581777
- 粉丝: 4
- 资源: 917
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能