Копирование файла в системную папку / пакет - PullRequest
0 голосов
/ 14 марта 2011

Я делаю приложение, которое меняет значок корзины в 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 - это не обычная папка, а пакет? Как мне обойти это? Или есть лучший способ изменить значок корзины?

1 Ответ

0 голосов
/ 14 марта 2011

Измените свою цель на это (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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...