【发布时间】:2014-09-05 20:41:45
【问题描述】:
我正在编写一个应用程序来从 OS X 中删除一个软件及其文件。我可以删除除 .app 和 /Applications 中的文件夹之外的所有其他内容。我正在使用AuthetificationExecuteWithPriviledges,我知道它已被弃用,所以在尝试将 .app 移动到垃圾箱时是否会给我带来管理问题?当我逐步完成该过程时,我看到一个NSCocoaErrorDomain,代码为513。我快速搜索了一下,发现它与权限错误有关。我的另一个理论是我的应用程序路径不正确。我在用:
NSString *ibmNotesApplication = @"/Applications/IBM Notes.app";
如果您想知道我为什么要删除 Lotus Notes,那是因为 IBM 提供的 Notes 卸载程序没有我想要的所有功能。所以,我正在写一个删除笔记和所有与之相关的文件,这样我们就可以重新安装了。
这是一段代码,我将数组中的一个项目移动到垃圾箱。
if ([filemanager fileExistsAtPath:object])
{
NSURL *objectURL = [NSURL fileURLWithPath:object];
NSURL *trashedObject;
NSError *error;
//Moves item to trash bin and update log
if([filemanager trashItemAtURL:objectURL resultingItemURL:&trashedObject error:&error])
{
NSLog(@"Trashed %@ to %@",objectURL, trashedObject);
self.textfield.stringValue = [NSString stringWithFormat:@"%@%@%@%@%@%@", self.textfield.stringValue, @"Trashed ", objectURL, @" to ", trashedObject, @"\n"];
}
【问题讨论】:
-
AppCleaner 为我工作:freemacsoft.net/appcleaner
-
感谢格式化帮助mattt,我匆忙写下我的问题。 @trojanfoe,我真的很想编写自己的实用程序,而不是依赖其他工具来删除 Notes,以及一些 Eclipse plist 文件。
-
不是 100% 确定
Authetification是什么......但谷歌搜索让我回到这里......
标签: objective-c macos cocoa