Obter URL de um recurso recém-criado, estilo iOS 9
ALAssetsLibrary
está obsoleto hoje em dia, mas praticamente todos os exemplos de SO ainda estão fazendo uso dele. Para o meu objetivo, preciso saber o URL do vídeo que foi adicionado à Biblioteca de Fotos para que eu possa compartilhar um vídeo no aplicativo Instagram (é a única maneira pela qual o Instagram aceita vídeos). O URL provavelmente deve começar com "assets-library: // ..."
Isso é simples comALAssetsLibrary
:
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library writeVideoAtPathToSavedPhotosAlbum:videoFilePath completionBlock:^(NSURL *assetURL, NSError *error) { // ...
Acima, o URL é passado como argumento para o bloco de conclusão. Mas e quanto à maneira compatível com o iOS 9 comPHPhotoLibrary
classe eperformChanges
método?
var videoAssetPlaceholder:PHObjectPlaceholder! // property
// ...
let videoURL = NSBundle.mainBundle().URLForResource("Video_.mp4", withExtension: nil)!
let photoLibrary = PHPhotoLibrary.sharedPhotoLibrary()
photoLibrary.performChanges({
let request = PHAssetChangeRequest.creationRequestForAssetFromVideoAtFileURL(videoURL)
self.videoAssetPlaceholder = request?.placeholderForCreatedAsset
},
completionHandler: { success, error in
if success
{
// The URL of the video asset?
}
})