NSfileManager *manager = [NSfileManager defaultManager]; [manager removeItemAtPath:fileToDelete error:nil];
但是,在我使用此 *** 作后,每次将文件拖到回收站时,系统都会提示我:
Are you sure you want to delete
“xxxxxx.xxx”?This item will be deleted
immediately. You can’t undo this
action.
这一直持续到我退出或sudo rm -rf垃圾桶.
谢谢!
解决方法 您可以使用 NSWorkspace将内容放入垃圾箱,但删除垃圾箱对于程序来说是不可能的,因此您不会找到API.所以你最好的选择是使用ScriptBrIDge.将ScriptingBrIDge.framework添加到构建目标,并使用以下命令为Finder生成头文件:
sdef /System/library/CoreServices/Finder.app/ | sdp -fh --basename Finder
然后,您可以要求Finder提示用户清空垃圾箱:
#import "Finder.h"FinderApplication *finder = [SBApplication applicationWithBundleIDentifIEr:@"com.apple.Finder"];// activate finder[finder activate];// wait a moment (activate is not instant),then present alert messagedispatch_after(dispatch_time(disPATCH_TIME_Now,(int64_t)(0.1 * NSEC_PER_SEC)),dispatch_get_main_queue(),^{ [finder emptySecurity:security];});
有关详细信息,请参阅Scripting Bridge documentation.
从Xcode 7.3开始,如果你用Swift尝试这个,你会发现链接器错误,试图找到在Finder.h中定义的类.所以你必须创建一个Objective-C包装器.
总结以上是内存溢出为你收集整理的通过Objective-C/C++ocoa清空垃圾桶全部内容,希望文章能够帮你解决通过Objective-C/C++ocoa清空垃圾桶所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)