Как создать значок на рабочем столе с помощью Xcode

#macos #icons #xcode

#macos #Значки #xcode

Вопрос:

Я хочу создать значок на рабочем столе для своего приложения, чтобы при установке пользователем приложения на рабочем столе создавался значок приложения, позволяющий пользователю запускать приложение с помощью значка на рабочем столе.

Я знаю, что это не очень хорошая практика, и пользователь может создать значок на рабочем столе или в dock, перетащив приложение в нужное место, но все же я хочу знать, как этого добиться.

Я использую Xcode версии 3.2.5.

Комментарии:

1. Я использую Xcode версии 3.2.5

2. Что сказал Абизерн. ПОЖАЛУЙСТА, не делайте этого; в образовательных целях это нормально, но, ИМО, есть лучшие способы научиться использовать псевдонимы. 😉 Кроме того, если вам ДЕЙСТВИТЕЛЬНО нужно было это сделать, скажем, для корпоративного развертывания, где ИТ-отдел потребовал этого (они иногда делают подобные глупости), вы бы хотели использовать PackageMaker для создания фактического установочного пакета вместо того, чтобы делать это при первом запуске, но я не знаю и не интересуюсь, как это сделать, потому что опять же это ужасная практика. РЕДАКТИРОВАТЬ: Только что заметил, что Энн ниже упомянула способ PackageMaker. Опять же, посмотрите все комментарии об ужасной практике. 🙂

Ответ №1:

Вариант 1

Создайте псевдоним самостоятельно, вот так:

 NSArray *paths = NSSearchPathForDirectoriesInDomains (NSDesktopDirectory, NSUserDomainMask, YES);
NSString *deskPath = [paths objectAtIndex:0];

NSURL *appURL = [[NSURL alloc] initFileURLWithPath:[[NSBundle mainBundle] bundlePath]];
NSURL *aliasURL = [[NSURL alloc] initFileURLWithPath:[deskPath stringByAppendingPathComponent:@"AppName"]];

NSError *err = nil;
NSData *bookmarkData = [appURL bookmarkDataWithOptions: NSURLBookmarkCreationSuitableForBookmarkFile includingResourceValuesForKeys:nil relativeToURL:nil error:amp;err];

if(bookmarkData == nil) {
    // Error
} else {
    if(![NSURL writeBookmarkData:bookmarkData toURL:aliasURL options:NSURLBookmarkCreationSuitableForBookmarkFile error:amp;err]) {
        // Error
    }
}
  

Вариант 2

Используйте NDAlias для создания псевдонима:
http://homepage.mac.com/nathan_day/pages/source.xml

Вариант 3

PackageMaker выполняет действия после установки по умолчанию, включая создание псевдонима.

введите описание изображения здесь

Примечание

Создание псевдонимов приложений на рабочем столе не одобряется.
Лучше добавьте приложение в Dock во время установки.