iOS如何拿到拍照照片的URL
2016-03-04 本文已影响3000人
学习无底
最近公司的项目要做一个草稿箱功能,里面有照片,该怎么保存照片呢,当然保存图片的URL路径。
1、相册的照片,拿到照片的时候就可以拿到相应的路径
2、拍照的照片,可以拿到照片,但没有返回路径,怎么办呢。后面发现我们自己调用相机拍的照片要自己保存到相册的,一番尝试之后,发现有个方法可以满足我们的需求如下:

3、这个很好做,哪怎么从URL拿到相应的照片呢。通过ALAsset,先拿到ALAsset对象,再由这个对象去拿到对应的照片。ALAssetsLibrary这个类下有相应的方法:

4、前面都还顺利,但到后面实际用时,发现拿到的照片一直为nil,难道是方法不可用,但方法是一步步打印验证的,问题出在哪儿呢。后面经过一系列验证,发现是获取ALAsset对象的ALAssetsLibrary对象销毁后,ALAsset对象就也会自动销毁,强持有ALAsset对象也不行,后面尝试创建一个用static修饰的ALAssetsLibrary对象后,就没有问题了。
PS:第一次写不知道,没有用markdown,不好意思,有意向交流的可以加我QQ:994413754 。
更新于2018年3月30日。
第四步的主要代码如下图:

下图来源:iOS编程小技巧
