25

我第一次使用 OSX 的通知中心 API,似乎无法弄清楚如何让我的应用程序图标显示在通知徽章中。

默认的“您的应用没有图标”图标不断出现:

这是我到目前为止所做的

  • 我创建了一个包含 512、256、128、32 和 16px 版本的 icns 文件
  • 将图标拖到目标摘要的“应用程序图标”部分
  • 我确保选中该框以将图标复制到项目中
  • plist 的“图标文件”部分引用了正确的图标名称(减去 .icns)部分

有任何想法吗?当我通过 Xcode 运行应用程序或导出存档时,该图标不会显示。

我还从 Sparrow.app 中提取了 Sparrow.icns 文件,并尝试使用该文件而不是我制作的文件。那也没有用。

4

9 回答 9

22

我能够通过增加构建目标的常规部分中的内部版本号来解决此问题。

于 2014-12-16T06:37:56.627 回答
13

您可以强制通知中心刷新所有图标,方法是删除通知中心数据库文件 ( ~/Library/Application Support/NotificationCenter/SOME_UUID.db),然后终止通知中心进程(例如,从活动监视器)。

不幸的是,这具有删除您的通知历史记录的副作用,但这对我来说并不是什么大问题。

于 2012-09-11T06:21:47.227 回答
12

实际上,Apple 的开发者论坛(链接,有访问权限的人的链接)上一直在讨论这个问题。据我所知,目前还没有真正的解决方案,但您可以尝试以下方法:

  • 更改您应用的捆绑包 ID,然后重试。如果你改变它,清理你的应用程序,然后改回来,有些人报告说他们的图标显示成功了。
  • 以其他用户身份登录。通知中心使用的缓存可能是每个用户的,因此您可能能够以不同的人的身份获得正确图标的通知。
于 2012-08-08T03:11:38.557 回答
4

OSX 10.10+ 的文件夹位置已移动。

以下命令将您带到其新位置:

$ cd `getconf DARWIN_USER_DIR`/com.apple.notificationcenter/db               

进而

$ open .
于 2015-08-31T19:56:25.647 回答
1

我设法让图标显示的最简单方法是更改​​项目中的捆绑标识符。这适用于 OSX 10.10.5 和 XCode 7.2

(一旦通知中心接收到更改,如果您已经有与之关联的配置文件,您可以将其更改回您的原始捆绑标识符)

于 2016-01-29T18:10:44.777 回答
1

我通过归档我的应用程序并将副本添加到我的应用程序文件夹解决了这个问题。当应用程序位于应用程序文件夹中时,即使您从 XCode 运行应用程序,该图标也始终可见...

于 2016-08-26T06:56:07.940 回答
1

我尝试了上述所有建议,但在 10.14 上唯一对我有用的是删除 DerivedData:

rm -rf ~/Library/Developer/Xcode/DerivedData

于 2018-09-20T12:37:08.873 回答
1

如果有人仍然有这个问题,并且上述方法都没有奏效,我是这样解决的:

  1. Notifications从以下打开System Preference(最简单的方法是打开Alfredorspotlight并输入Notifications
  2. 找到您的应用程序并将其删除(按backspace/delete按钮)

注意:这可能会删除所有通知

于 2019-05-12T11:15:20.823 回答
0

我正在使用 Xcode 11.5,我遇到了同样的问题。在我的情况下,清理构建输出、关闭并重新打开项目就足够了。然后重新构建并让它再次运行。之后图标就在那里。

旁注:assets.xcassets除了 1024 x 1024 像素外,我已经在文件中放置了每个大小的应用程序图标。不知道这是否相关。希望有帮助。

于 2020-07-03T09:58:59.450 回答