Значок Центра уведомлений OSX
Я впервые использую API Центра уведомлений OSX и не могу понять, как сделать так, чтобы значок моего приложения отображался на значке уведомлений.
По умолчанию значок "в вашем приложении нет значка" продолжает появляться:
![]()
Вот что я сделал до сих пор
- Я создал файл icns, который включает в себя версии 512, 256, 128, 32 и 16px
- перетащил значок в раздел "Значок приложения" целевого резюме
- Я сделал обязательно флажок, чтобы скопировать значок в проект
- раздел plist "Файл значка" ссылается на правильное имя значка (за исключением .icns)
Есть идеи? Значок не появляется, когда я запускаю приложение через XCode или когда я экспортирую архив.
Я также извлек файл Sparrow.icns из Sparrow.app и попытался использовать этот файл вместо того, который я сделал. Это тоже не сработало.
Ответы
Ответ 1
Вы можете заставить Центр уведомлений обновить все значки, удалив файл базы данных Notification Center (~/Library/Application Support/NotificationCenter/SOME_UUID.db
), а затем убив процесс Центра уведомлений (например, из Activity Monitor).
К сожалению, это имеет побочный эффект удаления истории уведомлений, но для меня это не было проблемой.
Ответ 2
Мне удалось исправить эту проблему, увеличив число сборки в разделе "Общие" для цели сборки.
Ответ 3
На самом деле продолжаются дискуссии на форумах разработчиков Apple (ссылка, ссылка для людей с доступом) об этом. Насколько я знаю, в настоящее время нет реального решения, но вы можете попробовать следующее:
- Измените идентификатор пакета приложений и повторите попытку. Если вы измените его, очистите приложение и измените его, некоторые люди сообщили об успехе, увидев их значок.
- Войдите в систему как другой пользователь. Кэширующий центр Notification Center может использоваться для каждого пользователя, поэтому вы можете получать сообщения с надлежащим образом иконок в качестве другого человека.
Ответ 4
Расположение папки перемещено для OSX 10.10 +.
Следующая команда перейдет к вашему новому местоположению:
$ cd `getconf DARWIN_USER_DIR`/com.apple.notificationcenter/db
а затем
$ open .
Ответ 5
Самый простой способ, которым мне удалось найти значок, - это изменить идентификатор Bundle в вашем проекте. Это работает на OSX 10.10.5 и XCode 7.2
(Как только центр уведомлений подберет изменение, вы можете изменить его обратно на исходный идентификатор пакета, если у вас уже есть профиль обеспечения, связанный с ним)
Ответ 6
Я решил проблему, выполнив архивацию своего приложения и добавив копию в папку моих приложений. Когда приложение находится в папке приложения, значок всегда отображается, даже если вы запускаете приложение из XCode...
Ответ 7
Я пробовал все вышеперечисленные предложения, но единственное, что работало для меня в 10.14, - удалить DerivedData:
rm -rf ~/Library/Developer/Xcode/DerivedData
Ответ 8
Если у кого-то все еще есть эта проблема, и ни один из вышеупомянутых методов не работал, вот как я решил ее:
- открыть
Notifications
из System Preference
(проще всего открыть Alfred
или spotlight
и набрать Notifications
) - найти приложение и удалить его (нажмите кнопку
backspace
/delete
)
ПРИМЕЧАНИЕ: это может удалить все уведомления