Sto cercando di ottenere alcuni dati su un video che ho scelto nello UIImagePicker
.UIImagePickerControllerReferenceURL mancante
Quindi, quando entra nel metodo delegato UIImagePicker
(sotto), capisco che ho bisogno di usare la chiave UIImagePickerControllerReferenceURL
dal dizionario delle informazioni.
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
NSURL *url = [info objectForKey:UIImagePickerControllerReferenceURL];
NSLog(@"%@",url);
[library addAssetURL:[info objectForKey:UIImagePickerControllerReferenceURL] toAlbum:@"Compedia" withCompletionBlock:^(NSError *error) {
if (error!=nil) {
NSLog(@"Big error: %@", [error description]);
}
}];
}
Il problema è che l'url è risultante con zero. Ho stampato la descrizione di informazioni e sembra che questo:
Printing description of info:
{
UIImagePickerControllerMediaType = "public.movie";
UIImagePickerControllerMediaURL = "file://localhost/private/var/mobile/Applications/6630FBD3-1212-4ED0-BC3B-0C23AEEFB267/tmp/capture-T0x1f57e880.tmp.Ulfn5o/capturedvideo.MOV";
}
dopo che ho fatto qualche ricerca ho scoperto che se ho impostato la macchina fotografica con kUTTypeMovie
mi dovrebbe dare sia i media e di riferimento url.
è così che ho definito la mia macchina fotografica:
cameraUI = [[UIImagePickerController alloc] init];
cameraUI.sourceType = UIImagePickerControllerSourceTypeCamera;
cameraUI.mediaTypes = [[NSArray alloc] initWithObjects:(NSString *)kUTTypeMovie, nil];
cameraUI.allowsEditing = YES;
cameraUI.delegate = delegate;
cameraUI.showsCameraControls = NO;
cameraUI.cameraOverlayView = [self getCustomToolBar];
C'è qualcosa che mi manca?
Grazie,
sto ottenendo un errore in questa affermazione: ALAssetsLibrary * biblioteca = [Utils defaultAssetsLibrary]; (Uso dell'identificatore dell'identificatore non dichiarato) Cosa mi manca qui? –
@AzeemShaikh Mi dispiace che è stata colpa mia, ho una chiamata di utilità che crea un singleton di ALAssetsLibrary come è la migliore pratica per avere solo uno di questi nella tua app. Ci sono alcuni articoli, post di stack e documentazione Apple online che lo spiegano.Quindi è sufficiente sostituire [Utils defaultAssetsLibrary] con una nuova istanza di ALAssetsLibrary. Comunque come ho detto è meglio che tu abbia un singleton di questo nella tua app. – ssh88