Iphone iOS–;将录制保存到应用程序文档

Iphone iOS–;将录制保存到应用程序文档,iphone,objective-c,ios,xcode,cocoa-touch,Iphone,Objective C,Ios,Xcode,Cocoa Touch,我想将录制的文件保存到我的应用程序文档中,但不知道如何执行。我做了一个录音,它存储在一个临时文件中,我可以播放那个声音。现在,我想在离开该视图时将该文件以新名称保存到应用程序文档中 录制声音的代码: NSArray *dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *docsDir = [dirPaths objectAtIndex:0]; N

我想将录制的文件保存到我的应用程序文档中,但不知道如何执行。我做了一个录音,它存储在一个临时文件中,我可以播放那个声音。现在,我想在离开该视图时将该文件以新名称保存到应用程序文档中

录制声音的代码:

NSArray *dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *docsDir = [dirPaths objectAtIndex:0];
NSString *soundFilePath = [docsDir
                               stringByAppendingPathComponent:@"tmpSound.caf"];

tempRecFile = [NSURL fileURLWithPath:soundFilePath];

NSDictionary *recSettings = [NSDictionary 
                                    dictionaryWithObjectsAndKeys:
                                    [NSNumber numberWithInt:AVAudioQualityMin],
                                    AVEncoderAudioQualityKey,
                                    [NSNumber numberWithInt:16], 
                                    AVEncoderBitRateKey,
                                    [NSNumber numberWithInt: 2], 
                                    AVNumberOfChannelsKey,
                                    [NSNumber numberWithFloat:44100.0], 
                                    AVSampleRateKey,
                                    nil];

recorder = [[AVAudioRecorder alloc] initWithURL:tempRecFile settings:recSettings error:nil];
[recorder setDelegate:self];
[recorder prepareToRecord];
[recorder record];

是否有人知道如何执行此操作,或者是否有可能执行此操作?

使用
NSFileManager
移动文件。

您应该能够通过以下方式执行此操作:

NSError *error;
[[NSFileManager defaultManager] copyItemAtURL:tempRecFile toURL:newURL error:&error];
或者,如果您不关心错误:

[[NSFileManager defaultManager] copyItemAtURL:tempRecFile toURL:newURL error:nil];
不过,有一句话要提醒您——您应该仔细考虑是否真的需要将此音频保存在documents文件夹中,或者缓存文件夹是否足够。苹果对什么是允许的有严格的规定