将文件复制到系统文件夹/包

发布于 2024-10-22 00:50:21 字数 676 浏览 0 评论 0原文

我正在做一个更改 Mac OSX 中垃圾桶图标的应用程序...到目前为止我得到了:

- (IBAction)install:(id)sender {
NSLog(@"Installing..");
NSLog(@"Trying to move file..");

NSString* src = @"/Users/myuser/Desktop/dashboard.png";
NSString* target = @"/System/Library/CoreServices/Dock/Contents/Resources/tester123.png";
NSError* error = nil;

[[NSFileManager defaultManager] copyItemAtPath:src toPath:target error:&error];

if (error) {
    NSLog(@"%@", error);
    NSLog(@"%@", [error userInfo]);
}

}

我收到错误:

The operation couldn’t be completed. No such file or directory

我相信这是因为 Dock 不是一个普通文件夹,而是一个包?我该如何解决这个问题?或者有更好的方法来更改垃圾图标吗?

I'm doing an app that changes the Trash-icon in Mac OSX... so far I got:

- (IBAction)install:(id)sender {
NSLog(@"Installing..");
NSLog(@"Trying to move file..");

NSString* src = @"/Users/myuser/Desktop/dashboard.png";
NSString* target = @"/System/Library/CoreServices/Dock/Contents/Resources/tester123.png";
NSError* error = nil;

[[NSFileManager defaultManager] copyItemAtPath:src toPath:target error:&error];

if (error) {
    NSLog(@"%@", error);
    NSLog(@"%@", [error userInfo]);
}

}

I'm getting the error:

The operation couldn’t be completed. No such file or directory

I believe it's because that Dock isnt a normal folder, but a package? How do I work around this? Or is there a better way to change the trash-icon?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

不知在何时 2024-10-29 00:50:21

将您的目标更改为此(Dock 变为 Dock.app):

NSString* target = @"/System/Library/CoreServices/Dock.app/Contents/Resources/Sample.png";

您需要管理权限,否则您会收到此错误:

 "The operation couldn’t be completed. Permission denied"

此命令在终端中运行完美(结论:路径正确)。

sudo cp /Users/Anne/Desktop/Sample.png /System/Library/CoreServices/Dock.app/Contents/Resources/Sample.png

Change your target to this (Dock becomes Dock.app):

NSString* target = @"/System/Library/CoreServices/Dock.app/Contents/Resources/Sample.png";

You need administrative rights, otherwise you get this error:

 "The operation couldn’t be completed. Permission denied"

This command works perfect in Terminal (conclusion: the path is correct).

sudo cp /Users/Anne/Desktop/Sample.png /System/Library/CoreServices/Dock.app/Contents/Resources/Sample.png
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文