Cla*_*ges 18 alasset alassetslibrary ios8 photokit phasset
你可以偷偷地使用未记录的 PHAsset.ALAssetURL财产† ,但我正在寻找记录的东西.
†在Objective-C中,这将有所帮助
@interface PHAsset (Sneaky)
@property (nonatomic, readonly) NSURL *ALAssetURL;
@end
Run Code Online (Sandbox Code Playgroud)
hol*_*ann 44
通过利用的localidentifier创建assetURL PHAsset.示例:
PHAsset.localidentifierreturn91B1C271-C617-49CE-A074-E391BA7F843F/L0/001
现在使用32个第一个字符来构建assetURL,如:
assets-library://asset/asset.JPG?id=91B1C271-C617-49CE-A074-E391BA7F843F&ext=JPG
您可以JPG根据资产的UTI 更改扩展名(requestImageDataForAsset返回UTI),但在我的测试中,无论如何都会忽略assetURL的扩展名.
我希望能够获得资产的URL.但是,我已经意识到localIdentifier可以坚持而不是用来恢复PHAsset.
PHAsset* asset = [PHAsset fetchAssetsWithLocalIdentifiers:@[localIdentifier] options:nil].firstObject;
Run Code Online (Sandbox Code Playgroud)
可以使用以下方式转换旧版资产网址:
PHAsset* legacyAsset = [PHAsset fetchAssetsWithALAssetUrls:@[assetUrl] options:nil].firstObject;
NSString* convertedIdentifier = legacyAsset.localIdentifier;
Run Code Online (Sandbox Code Playgroud)
(在那种方法被淘汰之前......)
(感谢霍尔特曼 - localIdentifier隐藏在其中PHObject.)
| 归档时间: |
|
| 查看次数: |
18805 次 |
| 最近记录: |