public void DidFinishCapture (AVCapturePhotoOutput captureOutput, AVCaptureResolvedPhotoSettings resolvedSettings, NSError error)
{
if (error != null) {
Console.WriteLine ($"Error capturing photo: {error.LocalizedDescription})");
DidFinish ();
return;
}
if (photoData == null) {
Console.WriteLine ("No photo data resource");
DidFinish ();
return;
}
PHPhotoLibrary.RequestAuthorization (status => {
if (status == PHAuthorizationStatus.Authorized) {
PHPhotoLibrary.SharedPhotoLibrary.PerformChanges (() => {
var creationRequest = PHAssetCreationRequest.CreationRequestForAsset ();
creationRequest.AddResource (PHAssetResourceType.Photo, photoData, null);
var url = livePhotoCompanionMovieUrl;
if (url != null) {
var livePhotoCompanionMovieFileResourceOptions = new PHAssetResourceCreationOptions {
ShouldMoveFile = true
};
creationRequest.AddResource (PHAssetResourceType.PairedVideo, url, livePhotoCompanionMovieFileResourceOptions);
}
}, (success, err) => {
if (err != null)
Console.WriteLine ($"Error occurered while saving photo to photo library: {error.LocalizedDescription}");
DidFinish ();
});
} else {
DidFinish ();
}
});
}
}