objective-c - 以编程方式将应用程序的内容复制到桌面

标签 objective-c macos cocoa

如何以编程方式将整个 .app 包 ([[NSBundle mainBundle] bundleURL]) 复制到桌面?

这是我的代码,但对我没有帮助。

NSString *sourcepath = [[NSBundle mainBundle] bundlePath]; 
NSString *destpath = [NSHomeDirectory() stringByAppendingPathComponent:@"Desktop"];
[[NSFileManager defaultManager] copyItemAtPath:sourcepath toPath:destpath error:nil];

最佳答案

您可以使用标准的NSFileManager方法

复制目录和文件。来自苹果的文档:

复制项目时,当前进程必须具有读取 srcPath 处的文件或目录以及写入 dstPath 的父目录的权限。如果 srcPath 中的项目是一个目录,则此方法将复制该目录及其所有内容,包括任何隐藏文件。

请注意,如果目的地已存在同名项目(文件/目录),则必须手动删除该项目(文件/目录),否则复制将失败(同样,根据 Apple 文档)。

关于objective-c - 以编程方式将应用程序的内容复制到桌面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15944013/

相关文章:

objective-c - 类似于 CLRegion 的方形区域

macos - SQLITE_IOERR_VNODE 代码 6922 是什么意思?

python - Python 能否用于向 Mac 发送真正的按键按下事件

macos - NSTableCellView 中的 NSTextField - 结束失去焦点的编辑

macos - 无法编辑 IORegistryEntry

cocoa - TableView 中的自定义 NSTextField : how do I know if the row is selected to change the background color?

objective-c - MFMessageComposeViewController 第一次分配需要几秒钟

iphone - 自定义 UITableViewCell 中的 UITextView 不响应 didSelectRowAtIndexPath

objective-c - NSArrayController + 基于 View 的 NSTableView 绑定(bind)到 NSTextField

objective-c - Cocoa App Sandbox - 加载包时出错