iOS中生成并导入基于Swift编程语言的Framework
2016-06-23 02:42
351 查看
从iOS 8.0开始就引入了framework打包方式以及Swift编程语言。我们可以主要利用Swift编程语言将自己的代码打包成framework。不过当前Xcode 7.x在自动导入framework包的时候不太智能,因此需要做一些善后处理。
首先,在生成framework时,要暴露给外部的结构体、类、枚举、函数等都需要用public关键字来修饰,否则外部是访问不到这些类型以及函数的。此外,在结构体和类中,不能缺省初始化方法,必须用public暴露给外部,否则也一样无法被访问到。
其次,当我们生成好framework库之后,先打开framework的包目录,可以先用lipo命令将x86与arm不同处理器架构生成的二进制文件(exec)给整合一下,放到设备生成的framwork包内。然后将模拟器framework包中的Modules目录下的.swiftmodule目录中的所有模块文件拷贝到设备framework包中的相应目录内。这样,将处理完的设备framework目录包放到实际工程下就能通过编译和连接了。
最后,当我们要执行模拟器运行或真机运行前,将刚才处理完的framework包复制黏贴到products中最后生成的.app包的Framework目录下,这个需要手工拷贝完成,否则程序运行时会报image not found的错误~
首先,在生成framework时,要暴露给外部的结构体、类、枚举、函数等都需要用public关键字来修饰,否则外部是访问不到这些类型以及函数的。此外,在结构体和类中,不能缺省初始化方法,必须用public暴露给外部,否则也一样无法被访问到。
其次,当我们生成好framework库之后,先打开framework的包目录,可以先用lipo命令将x86与arm不同处理器架构生成的二进制文件(exec)给整合一下,放到设备生成的framwork包内。然后将模拟器framework包中的Modules目录下的.swiftmodule目录中的所有模块文件拷贝到设备framework包中的相应目录内。这样,将处理完的设备framework目录包放到实际工程下就能通过编译和连接了。
最后,当我们要执行模拟器运行或真机运行前,将刚才处理完的framework包复制黏贴到products中最后生成的.app包的Framework目录下,这个需要手工拷贝完成,否则程序运行时会报image not found的错误~
相关文章推荐
- 6月20日--swift3常量与变量
- swift 用协议实现代理传值功能
- 发现意外之美 - SwiftyJSON 源码学习
- Swift 与 JSON 数据
- Swift 中的利刃,函数和闭包
- Swift 中的利刃,函数和闭包
- Swift - SwiftyJSON的使用祥解(附样例,用于JSON数据处理)
- iOS Swift下int强制转换为CGFloat
- 在Swift语言中UIScrollView的基本使用。
- Swift学习(三)类型推导&基本运算&分支&循环
- swift学习笔记5——其它部分(自动引用计数、错误处理、泛型...)
- swift 使用Block-KVO 框架
- swift 集合(Collection)类型的赋值和拷贝行为
- [swift、oc]浅聊nil、Nil、NULL、NSNull的区别
- Swift-Charts 多种样式图表-详细
- Swift学习(一)
- Swift开篇013->析构过程
- swift 版本 UItableViewCell的动态高度补足
- iOS swift使用xib绘制UIView
- 【Swift】 iOS开发容易产生Bug的地方