我想知道特定的 Mac 应用程序如何检查可用软件的最新版本。
应用程序菜单中的“检查更新...”联系了一个 URL。有没有办法找出它联系的是哪个 URL。要联系的 URL 会存储在我机器上的文件中吗?有没有办法可以向用户隐藏它?
我不确定这是否是开发人员使用的 Mac OS SDK 中的功能。
答案1
一些应用程序使用火花Info.plist
用于自动更新。如果这样做,他们联系的 Sparkle URL 将在应用程序包中的文件中指定。它的键是SUFeedURL
。它指向 (RSS?ATOM?) 提要,在plist
文件中的某个位置看起来像这样:
<key>SUFeedURL</key>
<string>http://www.haystacksoftware.com/arq/arq.xml</string>
要联系的 URL(显然)存储在您的机器上的某个位置。否则,您的机器如何知道要联系哪个网站来进行更新检查?
隐藏是没有意义的,因为运行一个简单的数据包嗅探器,例如可可包分析仪会告诉您的用户您的更新状态 URL 是什么。当然,您可以将其硬编码到二进制文件中,这样只有高级用户(能够使用命令strings
或运行数据包嗅探器的用户)才能找到您的 URL。