を使用してファイルをコピーしようとしています[[NSFileManager defaultManager] copyItemAtPath: toPath: error:]
が、次のエラーで失敗しています:
4: ファイルが存在しません。
関連するコードは以下のとおりです。ファイルは存在し、まったく同じファイル パス文字列で事前に作成されているため、パス文字列は正しいです。
NSFileManager* manager = [NSFileManager defaultManager];
NSError* error;
NSString* fileName = [Sound getFileName:Title];
NSString* oldDirectory = [NSString stringWithFormat:@"%@%@/", [settings stringForKey:@"downloadFolder"], authorFolder];
NSString* oldFile = [oldDirectory stringByAppendingFormat:@"%@.mp3", fileName];
NSString* newFile = [NSString stringWithFormat:@"%@/iTunes/iTunes Media/Automatically Add to iTunes/%@.mp3", [NSSearchPathForDirectoriesInDomains(NSMusicDirectory, NSUserDomainMask, YES) objectAtIndex:0], fileName];
BOOL result = [manager copyItemAtPath:oldFile toPath:newFile error:&error];
if (!result && error)
{
NSLog(oldFile);
NSLog(@"There was an error copying the file to the iTunes directory! %@", [error localizedDescription]);
}
正確なコードではありませんが、関連するすべてのコードは上記のとおりです。私が使用した場合[manager fileExistsAtPath:oldFile]
、結果はYESです。
ファイルが存在する場合でも、コピーが失敗し、ファイルが存在しないと言う原因は何ですか?
アップデート:
問題が修正されました。出力フォルダーは実際には iTunes.localized に自動的に追加されていたことが判明しましたが、最初はファインダーをページングしただけではこれに気づきませんでした。出力パスを修正すると問題が解決しました! 助けてくれてありがとう。