Как установить значок для приложения MacOS, если вы не строите с помощью Xcode?

Я создал приложение для Mac OS. Я создаю приложение на Ubuntu и не могу использовать Xcode. Когда дело доходит до установки значка для приложения, я не понимаю. Как это может быть сделано?

Это может показаться дубликатом этого вопроса:

Как установить значок набора приложений для Mac OS X моего приложения?

Однако приведенное здесь решение (просто добавить тег CFBundleIconFile в info.plist со связанным файлом .icns в каталоге ресурсов приложения) не работает для меня и, похоже, не работает для некоторых других в этом потоке. Ответ довольно старый - есть ли более новый процесс? Или нужно предпринять другие шаги, чтобы заставить это работать? Я использую программу под названием Image2icon для создания файла .icns - разве этого недостаточно, и для создания .icns необходимо использовать другой процесс?


person ffConundrums    schedule 27.04.2018    source источник


Ответы (1)


Добрый вечер, первый вопрос с ответом: после того, как значок был создан и помещен в ресурс, ваш текущий не изменился? (представьте, что в файле info.plist вы назвали значок) в этом случае вам, возможно, придется удалить 2 файла, чтобы найти новые значки ниже. Я оставляю вам сценарий applescriipt, который удаляет их 2 файла, которые система воссоздает автоматически. в скрипте вы должны изменить свое имя и пароль на имя пользователя и пароль, иначе это не сработает. после запуска скрипта экран станет черным и снова появится, я поставил xtrafinder, если вы им не пользуетесь, сотрите строку с помощью xtrafinder.

пытаться

установите стирание для выполнения сценария оболочки sudo find / private -name и цитируемая форма com.apple.dock.iconcache имя пользователя ваше имя пароль ваш пароль с правами администратора

выполнить оболочку script echo & цитируемую форму стирания do shell script sudo rm -rf -v & цитируемую форму стирания имени пользователя ваше имя пароль ваш пароль с правами администратора

установить стирание, чтобы выполнить эхо сценария оболочки и форму стирания в кавычках & | sed 's

com.apple.dock.iconcache # com.apple.iconservices # '

установить стирание, чтобы выполнить эхо сценария оболочки и форму стирания в кавычках

выполнить сценарий оболочки sudo rm -rf -v & цитированная форма удаления имени пользователя ваше имя пароль ваш пароль с правами администратора

выполнить сценарий оболочки sudo killall имя пользователя док-станции ваше имя пароль ваш пароль с правами администратора

выполнить сценарий оболочки sudo killall iconservicesagent имя пользователя ваше имя пароль ваш пароль с правами администратора

выполнить сценарий оболочки Sudo killall Finder имя пользователя ваше имя пароль ваш пароль с правами администратора выйти из приложения XtraFinder

выполнить сценарий оболочки Sudo open -a /Applications/XtraFinder.app имя пользователя ваше имя пароль ваш пароль с правами администратора

do shell script sudo pkill loginwindow имя пользователя ваше имя пароль ваш пароль с правами администратора

конец попытки

person user9652975    schedule 27.04.2018
comment
Спасибо за ваше сообщение. К сожалению, я разрабатываю все в Ubuntu и не могу использовать сценарии Apple. Я кое-что обнаружил - по какой-то причине, когда я работаю на Mac, когда я нажимаю «touch /Applications/myapp.app» - этого было достаточно, чтобы значок изменился в Dock! (пока ключ CFBundleIconFile присутствует в Info.plist). Однако в Finder он по-прежнему отображается по умолчанию! Все это мне не по силам! - person ffConundrums; 29.04.2018
comment
Пожалуйста, будьте любопытны, если вы разрабатываете приложения для Mac, это для использования на Mac, нет? В любом случае, info.plist, содержащийся в приложениях (профессиональных или нет), для значков часто относится к файлу значков и ключу к файлу icon.icns (файлы icns имеют несколько размеров (от 16x16 до 512x512 или 1024x1024) без использования CFBundleIconFile которые имеют определенные спецификации в соответствии с Apple. Для touch / Applications / myap очень хорошая идея, но здесь всегда присутствуют службы значков и кеши значков, а Finder не меняет отображение. Я предложил скрипту выполнить глобальное действие одним щелчком мыши. - person user9652975; 30.04.2018
comment
Дело не в любопытстве, а в ограничениях, наложенных на меня на работе. Все должно быть построено на Linux. Но я ценю ваше предложение. Если бы я мог заниматься разработкой на Mac, все было бы проще, но для меня это невозможно. - person ffConundrums; 30.04.2018
comment
Мне интересно узнать, что вы используете Linux, чтобы создавать приложения для Mac. Если я понимаю, что вы работаете над Linux для продажи приложений для Mac. - person user9652975; 01.05.2018
comment
О, я вижу. Да, это так :) Создаваемое приложение предназначено для Mac, однако для создания приложения доступны только машины, основанные на Linux. Тем не менее, ваш ответ, который вы опубликовали, классный, я даже не знал о сценариях Apple (я новичок в Mac), и, по крайней мере, у меня есть что-то, что я могу попробовать использовать локально для тестирования! Так что я благодарю вас за ваши усилия и надеюсь, что другие тоже получат пользу. - person ffConundrums; 01.05.2018