Objective c writeToFile未正确保存数据

Objective c writeToFile未正确保存数据,objective-c,file,metadata,nsdata,Objective C,File,Metadata,Nsdata,我有来自url(.m4a)的数据,我正在尝试保存该文件,以便编辑其元数据(更改背景图像)。下面的代码似乎不起作用,我不知道为什么。它正在保存一个文件,但该文件为空 _previewData = [NSMutableData dataWithContentsOfURL:[NSURL URLWithString:@"http://a281.phobos.apple.com/us/r1000/119/Music/v4/f1/7b/d6/f17bd6e3-55c0-b7e0-9863-bc522900e

我有来自url(.m4a)的数据,我正在尝试保存该文件,以便编辑其元数据(更改背景图像)。下面的代码似乎不起作用,我不知道为什么。它正在保存一个文件,但该文件为空

_previewData = [NSMutableData dataWithContentsOfURL:[NSURL URLWithString:@"http://a281.phobos.apple.com/us/r1000/119/Music/v4/f1/7b/d6/f17bd6e3-55c0-b7e0-9863-bc522900e950/mzaf_5153970109972844579.aac.m4a"]];
NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
                NSString *documentDirectory=[paths objectAtIndex:0];
                NSString *path = [documentDirectory stringByAppendingPathComponent:[NSString stringWithFormat: @"file.mp4"]];
                NSFileManager *filemanager;
                filemanager = [NSFileManager defaultManager];
                [_previewData writeToFile:path atomically:YES];
                if ([filemanager fileExistsAtPath:path]) {
                    // Runs
                    NSLog(@"It worked");
                }
                NSLog(@"%@",path);

ANMovie* file = [[ANMovie alloc] initWithFile:path]; // or .mp4
                NSData* jpegCover = UIImageJPEGRepresentation(artworkImage, 1.0);
                _imageView.image = [UIImage imageWithData:jpegCover];
                ANMetadata* metadata = [[ANMetadata alloc] init];
                metadata.albumCover = [[ANMetadataImage alloc] initWithImageData:jpegCover type:ANMetadataImageTypeJPG];
                [file setMovieMetadata:metadata];
                [file close];

                    _previewData = [NSMutableData dataWithContentsOfFile:path];

UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
                NSDictionary *imageItem=@{@"public.mpeg-4-audio":self.previewData};
                NSDictionary *textItem=@{@"public.plain-text":self.linkData};

                pasteboard.items=@[imageItem,textItem];

发布的代码在什么时候导致问题?您是否查看了预览数据?它是否具有正确的数据量或是0字节?我相信当
\u previewData
写入路径或
\u previewData
设置了带有文件内容的数据时,会发生此问题。它有一些数据(~89字节),但当我将其粘贴到iMessage中时,它不会发送,并且不可查看(点击时)<代码>\u previewData一开始确实有数据,不过(我可以复制并粘贴它,没有问题)首先,您忘了提到您正在尝试使用。我很快测试了您的代码,而这似乎确实是该库的一个问题。我建议找一个不同的工具来更改音频文件的相册插图。