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的更多相关文章
- 【swift】ios中生成二维码
ios开发中可以自己代码生成二维码,需要使用到一个框架 CoreImage CoreImage框架可以做滤镜,Gif动图,二维码等 先看效果图 下面直接贴上代码(OC也是下面一样的流程) func c ...
- iOS chart 图表完美解决方案 基于swift
如果打算在app中使用图标功能,这个框架基本能够满足90%的需求 下边是作者的框架的下载地址 ,基于swift2.0 https://github.com/danielgindi/ios-charts ...
- ios 中生成二维码和相册中识别二维码
iOS 使用CIDetector扫描相册二维码.原生扫描 原生扫描 iOS7之后,AVFoundation让我们终于可以使用原生扫描进行扫码了(二维码与条码皆可)AVFoundation可以让我们从设 ...
- ios 中生成随机数
ios 有如下三种随机数方法: 1. srand((unsigned)time(0)); //不加这句每次产生的随机数不变 int i = rand() % 5; 2. s ...
- iOS中生成随机的UUID
+ (NSString *)uuidString { CFUUIDRef uuid_ref = CFUUIDCreate(NULL); CFStringRef uuid_string_ref= CFU ...
- Swift编程语言资料合集
在本周二凌晨召开的苹果年度开发者大会WWDC上,苹果公司推出了全新的编程语言Swift.Swift 基于C和Objective-C,是供iOS和OS X应用编程的全新语言,更加高效.现代.安全,可以提 ...
- 400多个开源项目以及43个优秀的Swift开源项目-Swift编程语言资料大合集
Swift 基于C和Objective-C,是供iOS和OS X应用编程的全新语言,更加高效.现代.安全,可以提升应用性能,同时降低开发难度. Swift仍然处于beta测试的阶段,会在iOS 8发布 ...
- Swift编程语言的相关资料
苹果官方Swift文档<The Swift Programming Language> 苹果开发人员Swift文档及介绍 网友整理的Swift中文文档<Apple Swift编程语言 ...
- Swift编程语言中如何实现自定义类型的for-in循环(基于Swift 2.2)
我们在Swift编程语言中常常会用到for-in循环(在编程语言术语中又被称为for-each).此外,从Swift 2.2版本起,for循环将只支持for-in形式,而不支持for i = 0; i ...
随机推荐
- cach
为程序使用内存缓存(MemoryCache) oscache Guava cache 一种解决方法是配一个listener,在里面启动定时器. 简单缓存可以封装LinkedHashMap,因为它是有顺 ...
- 基于注解的DWR使用
dwr3.0支持使用注解,如果不喜欢配置dwr.xml文件,注解是个不错的方法,简单快捷. 步骤如下: 1.配置web.xml文件,需要在DwrServlet里加classes初始化参数: <i ...
- 如何将jar包加入到Maven本地仓库
原则上Maven的设计是不需要这么做的,因为pom.xml中依赖的jar包会自动实现从中央仓库下载到本地仓库.但是公司设计了一个setting,如果本地仓库没有,就去setting指定的url中下载j ...
- ubuntu系统 刷bios
bios放电后,出现不能识别硬盘.进入bios将Boot设为从UEFI: ubuntu启动.
- wamp链接mysql数据库
一:链接到自带的数据库 1.打开mysql命令行 密码为空即回车2.输入use mysql 3.执行 update user set password=PASSWORD('123456') where ...
- delphi常用快捷键(我自己经常使用的)
代码编辑器: Home 回到当前行的头部 End 回到当前行的尾部 Insert 插入代码,覆盖后面的代码,(按回车无效), 再按撤回效果 Delete 删除 F1 双击一个单词后,按F1调用自带的L ...
- day5----正则
%a 本地(locale)简化星期名称 %A 本地完整星期名称 %b 本地简化月份名称 %B 本地完整月份名称 %c 本地相应的日期和时间 ...
- halcon 常用算子中文解释说明(随时更新)
select_contours_xld (Edges, SelectedContours, 'closed', 0, 0, 0, 0) 筛选闭合边缘曲线 sub_image (ImageConvert ...
- 【转载】关于Linux Shell 特殊字符
一.通配符 1.一般通配符 ① * (星号):匹配字符的0次或多次出现 举例:f*可以匹配f.fa.fls.a 注意:“.”和“/”必须显示匹配 ...
- Asp.Net Web API 2第一课——入门
详情请查看http://aehyok.com/Blog/Detail/68.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:ht ...