Photos(PHPhotoLibrary)
来源:互联网 发布:巨人网络借壳上市时间 编辑:程序博客网 时间:2024/04/28 22:35
1 PHPhotoLibrary
PHPhotoLibrary是Photos库最核心的类。它是我们的APP沟通用户照片库的桥梁。我们可以通过它增加、删除、修改用户的照片库。
1.1 身份验证
如大多数的系统功能,如推送。这些都是用户的隐私功能,需要用户授权才可以使用的。Photos库使用的也是用户的隐私数据。故需要用户授权,下面两个方法可以取得用户的权限及让用户授权。
// 获取用户授权public class func authorizationStatus() -> PHAuthorizationStatus// 通知用户授权,首次授权时可使用public class func requestAuthorization(handler: (PHAuthorizationStatus) -> Void)
1.2 获取共享库
// 获取用户的照片库public class func sharedPhotoLibrary() -> PHPhotoLibrary
1.3 修改照片库
// 异步修改照片库中数据public func performChanges(changeBlock: dispatch_block_t, completionHandler: ((Bool, NSError?) -> Void)?)// 同步修改照片库中数据public func performChangesAndWait(changeBlock: dispatch_block_t) throws
1.4 照片库变化通知
你可以在你的app中时刻监听照片库的状态
// 注册通知public func registerChangeObserver(observer: PHPhotoLibraryChangeObserver)// 注销通知public func unregisterChangeObserver(observer: PHPhotoLibraryChangeObserver)
1.5 常量
用户的授权状态是一个枚举PHAuthorizationStatus。
public enum PHAuthorizationStatus : Int { case NotDetermined // 用户暂未权限认证 case Restricted // APP禁止使用相册权限认证 case Denied // 用户拒绝使用相册 case Authorized // 用户允许使用相册}
2 用户授权
由于整个用户都是关于照片的操作,故我们可以在AppDelegate.swift授权。修改其func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
方法。
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // Override point for customization after application launch. print(__FUNCTION__) switch PHPhotoLibrary.authorizationStatus() { case PHAuthorizationStatus.NotDetermined: // 用户暂未权限认证 print("PHAuthorizationStatus.NotDetermined") // 权限认证 PHPhotoLibrary.requestAuthorization { (status:PHAuthorizationStatus) -> Void in print(status) } case PHAuthorizationStatus.Restricted: // APP禁止使用相册权限认证 print("PHAuthorizationStatus.Restricted") case PHAuthorizationStatus.Denied: // 用户拒绝使用相册 print("PHAuthorizationStatus.Denied") print("请进入 设置 -> 隐私 -> 相册 开启权限") // 设置-隐私-相册 case PHAuthorizationStatus.Authorized: // 用户允许使用相册 print("PHAuthorizationStatus.Authorized") } return true}
运行项目即可看见苹果系统的提示,需要你给APP授权。
其他
源代码
Swift
参考资料
Photos Framework Reference
文档修改记录
版权所有
CSDN:http://blog.csdn.net/y550918116j
GitHub:https://github.com/937447974/Blog
0 0
- Photos(PHPhotoLibrary)
- PHPhotoLibrary+Extension
- photos
- Mariage Photos
- Photos(简介)
- Photos(PHObject)
- Photos(PHAsset)
- Photos(PHCollection)
- Photos(PHAssetCollection)
- Photos(PHImageManager)
- Photos(PHCachingImageManager)
- Photos(PHChange)
- Photos(PHFetchResultChangeDetails)
- Photos(PHObjectChangeDetails)
- Photos(PHAssetChangeRequest)
- Photos(PHAssetCreationRequest)
- Photos(PHCollectionListChangeRequest)
- Photos(PHAssetCollectionChangeRequest)
- 控件随窗口大小自动缩放
- ssm整合配置
- Linux基础指令
- android listview 实现addHeaderView
- 使用leangoo实现多泳道看板任务
- Photos(PHPhotoLibrary)
- tomcta启动时需要执行的方法--解决方案
- 123123123123
- GIT reset命令详解
- MySQL JOIN操作
- formatNumber详解
- 1月风怒(3)
- FAST特征原理
- Android 中InputMethodManager类 (输入法) 的用法