Finderで選択したファイルを操作するために、サービスをアドバタイズするOSXアプリを開発しています。アプリが実行されている場合は、正常に動作します。ただし、アプリが実行されておらず、サービスがFinderから呼び出されると、/ Applicationsにインストールされているバージョンではなく、XCodeでアーカイブされた古いバージョン(例:)が起動し/Users/sgvd/Library/Developer/Xcode/Archives/2012-08-18/MyApp 18-08-2012 13.25.xcarchive/Products/Applications/MyApp.app/Contents/MacOS/MyApp
ます。これにより、アプリを適切にテストできなくなります。また、アプリの複数のコピーが存在する場合、ユーザーにとってもアプリが破損する可能性があると思います。
NSBundlePathを実行/System/Library/CoreServices/pbs -dump_pboard
すると、サービスのエントリは/Applications内の正しい場所を指します。
Info.plistを編集して、インストールされているバージョンが開始されていることを確認する方法はありますか?または、おそらくNSPortNameエントリを介して、少なくとも特定のバージョンが実行されるようにする方法はありますか?そして最後に、アプリを見つけるための事前定義された検索順序がありますか、それともInfo.plistまたはアプリのビルド設定で定義できますか?たとえば、/ Applicationsと〜の両方にバージョンがある場合に何が起こるかが明確に定義されていますか? /アプリケーション?