iOS中生成并导入基于Swift编程语言的Framework

从iOS 8.0开始就引入了framework打包方式以及Swift编程语言。咱们能够主要利用Swift编程语言将本身的代码打包成framework。不过当前Xcode 7.x在自动导入framework包的时候不太智能,所以须要作一些善后处理。编程

 

首先,在生成framework时,要暴露给外部的结构体、类、枚举、函数等都须要用public关键字来修饰,不然外部是访问不到这些类型以及函数的。此外,在结构体和类中,不能缺省初始化方法,必须用public暴露给外部,不然也同样没法被访问到。swift

其次,当咱们生成好framework库以后,先打开framework的包目录,能够先用lipo命令将x86与arm不一样处理器架构生成的二进制文件(exec)给整合一下,放到设备生成的framwork包内。而后将模拟器framework包中的Modules目录下的.swiftmodule目录中的全部模块文件拷贝到设备framework包中的相应目录内。这样,将处理完的设备framework目录包放到实际工程下就能经过编译和链接了。架构

最后,当咱们要执行模拟器运行或真机运行前,将刚才处理完的framework包复制黏贴到products中最后生成的.app包的Framework目录下,这个须要手工拷贝完成,不然程序运行时会报image not found的错误~app

相关文章
相关标签/搜索