我想要獲得一些關於我在UIImagePicker
中選擇的視頻的數據。UIImagePickerControllerReferenceURL丟失
因此,當它進入UIImagePicker
委託方法(下面)我明白我需要使用信息字典中的UIImagePickerControllerReferenceURL
鍵。
-(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]);
}
}];
}
問題是url是由nil產生的。 我打印信息的描述,它看起來像這樣:
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";
}
我做了一些研究,我發現,如果我kUTTypeMovie
設置相機就應該給我媒體和參考網址後。
這是我如何定義我的相機:
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];
有我丟失的東西?
謝謝,
,我得到一個錯誤,在此聲明:ALAssetsLibrary *庫= [utils的defaultAssetsLibrary] (使用未聲明的標識符Utils)我在這裏錯過了什麼? – 2014-07-21 19:28:04
@AzeemShaikh對不起,這是我的錯,我有一個utils調用,創建ALAssetsLibrary的單例,最好的做法是隻在你的應用中使用其中的一個。有幾篇文章,堆棧帖子和Apple在線文檔解釋了這一點。因此,您只需將[Utils defaultAssetsLibrary]替換爲ALAssetsLibrary的新實例即可。然而就像我說的最好的,你有你的應用程序中的單例。 – ssh88 2014-08-11 10:16:23