我正在开发一个宣传服务的 OSX 应用程序,以对在 Finder 中选择的文件进行操作。如果应用程序正在运行,它会正常运行。但是,当应用程序未运行并且从 Finder 调用服务时,它不会启动 /Applications 中的已安装版本,而是使用 XCode 存档的旧版本(例如 at /Users/sgvd/Library/Developer/Xcode/Archives/2012-08-18/MyApp 18-08-2012 13.25.xcarchive/Products/Applications/MyApp.app/Contents/MacOS/MyApp
)。这使我无法正确测试我的应用程序,并且我认为当应用程序的多个副本存在时,它也会为用户破坏它。
当我运行/System/Library/CoreServices/pbs -dump_pboard
服务的 NSBundlePath 条目时,它确实指向 /Applications 中的正确位置。
有没有办法编辑 Info.plist 以确保启动安装的版本?或者有没有办法至少确保执行某个版本,也许是通过 NSPortName 条目?最后,是否有任何预定义的搜索顺序来查找应用程序,或者我可以在 Info.plist 或我的应用程序的构建设置中定义它,例如,如果 /Applications 和 ~ /应用程序?