iOS中生成并导入基于Swift编程语言的Framework
Posted zenny_chen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS中生成并导入基于Swift编程语言的Framework相关的知识,希望对你有一定的参考价值。
从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的错误~
以上是关于iOS中生成并导入基于Swift编程语言的Framework的主要内容,如果未能解决你的问题,请参考以下文章
为啥 SKSpriteNode(fileNamed:) 使用 Swift 在 iOS 中生成 nil?
基于swift的单视图iOS应用程序中的NXOAuth2Client:如何导入库