iOS系统分享
需增加版本判断:UIActivityTypeOpenInIBooks
iOS 9.0之后才有。
iOS导出音乐
如何导出mp3:先按mov格式导出,再转为mp3。
如何包含metadata信息:m4a格式自动包含metadata信息,mp3无。
路径去除特殊字符。
需增加版本判断:UIActivityTypeOpenInIBooks
iOS 9.0之后才有。
如何导出mp3:先按mov格式导出,再转为mp3。
如何包含metadata信息:m4a格式自动包含metadata信息,mp3无。
路径去除特殊字符。
需要先添加到父视图,再设置约束。
block中无需使用weakself。
添加约束:makeConstrains。
更新约束:updateConstrains,与之相关的布局自动调整。
重设约束:remakeConstrains,删除之前的约束重新添加。
[self.view updateConstraints:^(MASConstraintMaker *make){
// updateConstraints
}];
[self.view updateConstraints];
[self.view setNeedsLayout];
[UIView animateWithDuration:3 animations:^{
[self.view layoutIfNeeded];
}];
1 2 3 4 5 6 7 8 9 10 |
|
main.m:app程序入口,将控制权交给UIKit framework。
UIApplication:管理事件循环和高级行为,传递通知给代理。
App Delegate:处理应用初始化,状态转换,等高级行为。每个应用都要有。
Data Model:存储应用数据。
View Controller:管理应用展示内容。
View:展示内容。
Main Run Loop:Main run loop由UIApplication在主线程中开启,保证用户操作串行执行。
用户操作 -> 操作系统 -> 端口 -> 事件队列 -> Main run loop -> App object -> Core object
-> 操作系统 -> 屏幕反馈。
执行状态:
- 关闭状态。
- 未激活状态:在前台运行,但未接收到事件。
- 激活状态:在前台运行,接收到事件。
- 后台状态:在后台,且正在执行程序,通常会接着进入挂起状态。
- 挂起状态:在后台,且没有执行程序。当内存不足时会清理挂起应用。
iOS 10开始,获取隐私敏感数据需要在plist.info文件中配置,否则app会crash。
配置方法:添加对应权限的key和value,value不许为空。
常用权限:
手动请求权限:当用户拒绝授权某权限时,需要手动再次请求。
跳转至权限设置界面:
1 2 3 4 |
|
本文主要为iOS Core Animation Advanced Techniques的笔记。
本文主要介绍app如何获取iTunes中音乐列表,并把iTunes中音乐文件导出至app的沙盒目录下。
iOS 10 CoreData使用总结。
在应用开发过程中,点击事件为耗时操作或者延时响应,例如请求服务器数据,push至下一个界面,如果不处理用户重复点击事件,将会重复触发事件。下面介绍几种简单的处理方法。