Подтвердить что ты не робот

Значок Центра уведомлений OSX

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

По умолчанию значок "в вашем приложении нет значка" продолжает появляться:

Вот что я сделал до сих пор

  • Я создал файл icns, который включает в себя версии 512, 256, 128, 32 и 16px
  • перетащил значок в раздел "Значок приложения" целевого резюме
  • Я сделал обязательно флажок, чтобы скопировать значок в проект
  • раздел plist "Файл значка" ссылается на правильное имя значка (за исключением .icns)

Есть идеи? Значок не появляется, когда я запускаю приложение через XCode или когда я экспортирую архив.

Я также извлек файл Sparrow.icns из Sparrow.app и попытался использовать этот файл вместо того, который я сделал. Это тоже не сработало.

4b9b3361

Ответ 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

Если у кого-то все еще есть эта проблема, и ни один из вышеупомянутых методов не работал, вот как я решил ее:

  1. открыть Notifications из System Preference (проще всего открыть Alfred или spotlight и набрать Notifications)
  2. найти приложение и удалить его (нажмите кнопку backspace/delete)

ПРИМЕЧАНИЕ: это может удалить все уведомления