3

私のココアアプリには、ファイルを特定の場所に移動する機能があります。ユーザーがファイル /Users/Josh/Desktop/my.zip を持っているとします。ユーザーはこの my.zip ファイルを別の場所に移動でき、my.zip はデスクトップに表示されなくなります。

私のコードでは、replaceItemAtURL を使用しました。これは、宛先フォルダーに別の my.zip が含まれている可能性があるためです。

bMoveSuccess = [[NSFileManager defaultManager] replaceItemAtURL:destinationURL withItemAtURL:sourceURL backupItemName:nil options:0 resultingItemURL:&destinationURL error:&error];

これを呼び出して同じボリューム内でファイルを移動すると機能しますが、これを呼び出して移動先を別のボリューム (つまり USB キー) に設定すると、次のようなエラー メッセージが表示されます。

Error Domain=NSCocoaErrorDomain Code=512 "The file “my.zip” couldn’t be saved."
UserInfo=0x101b51840 {NSFileOriginalItemLocationKey=file://localhost/Volumes/USB/my.zip,
NSURL=file://localhost/Volumes/USB/my.zip, 
NSFileNewItemLocationKey=file://localhost/Users/Josh/Desktop/my.zip,
NSUnderlyingError=0x101b2e3d0 "The operation couldn’t be completed. Cross-device link"}
4

1 に答える 1