我有一个 Mac 应用程序,它可以兼作屏幕保护程序(一个小功能,但我很喜欢!)。我不想单独分发应用程序本身(分形查看器)和屏幕保护程序,所以我想将屏幕保护程序包放在应用程序包中。
问题:我可以这样做,并期望它起作用吗?我是否必须以某种方式“注册”屏幕保护程序(使用哪个 API?),还是系统会自动获取它?
我有一个 Mac 应用程序,它可以兼作屏幕保护程序(一个小功能,但我很喜欢!)。我不想单独分发应用程序本身(分形查看器)和屏幕保护程序,所以我想将屏幕保护程序包放在应用程序包中。
问题:我可以这样做,并期望它起作用吗?我是否必须以某种方式“注册”屏幕保护程序(使用哪个 API?),还是系统会自动获取它?
我认为 OSX 屏幕保护程序主机不会确认您的.saver
捆绑包,除非它位于其中一个Library/Screen Savers
目录中。因此,您不能只是分发应用程序并期望保护程序在没有进一步干预的情况下运行。
当然,您仍然可以将它们作为单个包分发,但您需要有某种方式将.saver
它们从应用程序中的任何位置复制或符号链接到正确的位置。例如,您可以在用户第一次运行您的应用程序时为他们提供该选项,或者您可以添加“安装屏幕保护程序”菜单项,或其他任何内容。
我怀疑你完全可以在没有任何用户干预的情况下做到这一点——除了粗鲁之外,这可能代表了一些安全漏洞......
您可以在没有用户干预的情况下执行此操作。在您的应用程序启动时,您可以将 .saver 从包中复制到“~/Library/Screen Savers”目录中。下次您运行系统偏好设置并转到屏幕保护程序设置时,您应该会看到您的屏幕保护程序与内置屏幕保护程序一起列出。
请注意,如果用户不希望您安装屏幕保护程序,他们可能会生气。
所以,显然没有办法解决这个问题。