我尝试向我的应用程序添加服务。该应用程序有一个名为“MyService”的服务。我在 Finder 中有一个文件,我想在同一位置用新名称复制该文件。用户将右键单击该文件并选择 MyService。一个新文件将出现在原始文件旁边,并带有一个新文件名。问题是我的应用程序是沙盒的。我可以通过以下方式获取所选文件的 url:
- (NSPasteboardItem*)merge:(NSPasteboard *)pboard
userData:(NSString *)userData error:(NSString **)error {
NSArray* fileArray=[pboard propertyListForType:NSFilenamesPboardType];
}
我的 fileArray 将包含文件路径。然后我可以用新的文件名更改这个文件路径。如果我只是使用创建一个新文件:
NSString *filePath = [filesArray objectAtIndex:0];
PDFDocument *PDF = [[PDFDocument alloc] initWithURL:[NSURL fileURLWithPath:filePath]];
NSURL *newFileUrl =[NSURL fileURLWithPath:newfilepath];
[PDF writeToURL:newFileURL];
我得到一个错误!我知道我在做什么是错误的,但是如何告诉 Finder 用户确实提交了该操作,因此该操作在某种程度上是安全的。如何判断这个 newFileURL 是允许的?谢谢您的帮助