相关疑难解决方法(0)

获取mp3图片在iOS 8上崩溃,但适用于iOS 7

编辑:罪魁祸首是iOS 8,而不是模拟器(我没有意识到已经运行iOS 8)我已经重命名标题以反映这一点.

我很高兴使用这个SO问题的代码从mp3文件加载专辑封面.这是在我的带有iOS 7.1的iPhone 5上.

但后来我在iOS模拟器中跟踪崩溃到这段代码.进一步的调查显示,这个代码也在我的iPad上崩溃了.升级到iOS 8后,它在我的iPad上崩溃了.

看来包含图像的字典已损坏.

我创建了一个虚拟iOS项目,加载专辑封面并得到相同的结果.下面是该viewcontroller的代码.

- (void) viewDidAppear:(BOOL)animated
{
    self.titleText = @"Overkill"; // Set song filename here
    NSString *filePath = [[NSBundle mainBundle] pathForResource:self.titleText ofType:@"mp3"];
    if (!filePath) {
        return;
    }
    NSURL *fileURL = [NSURL fileURLWithPath:filePath];

    NSLog(@"Getting song metadata for %@", self.titleText);
    AVAsset *asset = [AVURLAsset URLAssetWithURL:fileURL options:nil];
    if (asset != nil) {
        NSArray *keys = [NSArray arrayWithObjects:@"commonMetadata", nil];
        [asset loadValuesAsynchronouslyForKeys:keys completionHandler:^{
            NSArray *artworks = [AVMetadataItem metadataItemsFromArray:asset.commonMetadata
                                                               withKey:AVMetadataCommonKeyArtwork
                                                              keySpace:AVMetadataKeySpaceCommon];
            UIImage *albumArtWork;

            for (AVMetadataItem …
Run Code Online (Sandbox Code Playgroud)

mp3 objective-c avfoundation ipad ios-simulator

9
推荐指数
1
解决办法
1429
查看次数

标签 统计

avfoundation ×1

ios-simulator ×1

ipad ×1

mp3 ×1

objective-c ×1