我曾经使用ALAssetLibrary。它有assetForURL功能,这样我就可以将URL保存到NSUserDefaults并在应用程序重新启动后通过URL检索ALasset。但是,当我改成PHAsset时,我找不到这种功能。我找到的是fetchAssetsWithALAssetURLs,但是对于ALasset它将被弃用,所以我不倾向于使用这个函数。(保存ALAsseturl,并从fetchAssetsWithALAssetURLs检索PHAsset)我认为这是使用键“localIdentifier”将整个PHAsset对象保存到NSUserDefaults中的唯一方法,因此我可以在
我正在使用这样的FB分享对话框分享到Facebook:guardletlocalIdentifier=localIdentifierelse{return}letassetURL="assets-library://asset/asset.MOV?id="+localIdentifier+"&ext=MOV"letvideo:FBSDKShareVideo=FBSDKShareVideo()video.videoURL=URL(string:assetURL)letcontent:FBSDKShareVideoContent=FBSDKShareVideoContent()conten
是否存在localIdentifier可能会更改或不准确的情况?我正在开发一个备份照片的应用程序,我的同事告诉我不能信任localIdentifier。然而,在做了一些研究之后,我一直无法找到任何人谈论这个。 最佳答案 LocalIdentifiers有时会在更新iOS版本后发生变化。我已经看到PHAsset.localIdentifiers(照片API)在iOS更新两次后发生变化-在我自己的应用程序中。最后一次是在更新到iOS11之后。有问题的应用程序会跟踪localIdentifiers,因此可以根据各种谓词找到/排序特定图像。