我在iOS 7上开发了测试应用程序,使用MPMediaPickerController从音乐库中挑选音乐。但当我显示媒体选取器控制器时,它显示为空屏幕。这是代码
(void) pickSong
{
MPMediaPickerController *mediaPicker = [[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeMusic];
mediaPicker.delegate = self;
mediaPicker.allowsPickingMultipleItems = NO;
mediaPicker.prompt = NSLocalizedString(@"Select Your Favourite Song!", nil);
[mediaPicker loadView];
[self.navigationController presentViewController:mediaPicker animated:YES completion:nil];
}
#pragma mark - MPMediaPickerController delegate
(void) mediaPicker:(MPMediaPickerController *) mediaPicker2 didPickMediaItems:(MPMediaItemCollection *) mediaItemCollection {
[self dismissViewControllerAnimated:YES completion:nil];
MPMediaItem *mediaItem = [[mediaItemCollection items] objectAtIndex:0];
self.item.soundName = [mediaItem valueForProperty:MPMediaItemPropertyTitle];
self.item.soundUrl = [[mediaItem valueForProperty:MPMediaItemPropertyAssetURL] absoluteString];
}
(void) mediaPickerDidCancel:(MPMediaPickerController *)mediaPicker{
[self dismissViewControllerAnimated:YES completion:NULL];
}请帮帮我。
发布于 2013-10-29 12:55:43
这是一个iOS错误,但它仅在64位(A7)设备(目前只有iPhone 5S )上运行32位构建时才会发生。要解决此问题,请向您的应用程序添加64位架构。(在xcode中打开构建设置,并将体系结构从$ARCHS_STANDARD更改为$ARCHS_STANDARD_INCLUDING_64_BIT。)然后,您可能需要修复一些编译、链接和运行时问题。请参阅Apple的64位转换指南。
发布于 2013-09-24 00:02:21
似乎在ios7中有一个错误,它不喜欢出现在导航控制器中--试着直接从视图控制器中呈现它。
发布于 2014-02-10 23:16:07
我也有同样的问题,对我来说,解决方案是这里给出的两个解决方案的组合。首先,我必须将我的应用程序转换为64位,将架构更改为“标准...(包括64位)”。一旦我纠正了导致的所有警告,我必须将MPMediaPickerController更改为以模式呈现,而不是在导航堆栈上:
- (IBAction)didSelectMusicPicker:(id)sender {
MPMediaPickerController *picker = [[MPMediaPickerController alloc] initWithMediaTypes: MPMediaTypeMusic];
picker.delegate = self;
picker.allowsPickingMultipleItems = YES;
picker.prompt = NSLocalizedString (@"Add songs to play", "Prompt in media item picker");
//[self.navigationController pushViewController:picker animated:YES];
[self presentViewController:picker animated:TRUE completion:NULL];
}当然,我还需要更改mediaPicker:didPickMediaItems:和mediaPickerDidCancel:以使用dismissViewControllerAnimated。解决了所有这些问题后,选择器在运行iOS 7的iPhone 4和iPhone 5S上都能正常工作。
https://stackoverflow.com/questions/18933147
复制相似问题