title: overriding Mac app file associations via CFBundleDocumentTypes in info.plist
body: <p>I develop a Mac app that saves and loads files of a unique type.  The type is properly declared in the info.plist under CFBundleDocumentTypes, listed as LSHandlerRank: Owner and CFBundleTypeRole: Editor.  I am releasing a new version of my app and I would like that if users who already have a previous version of my app on their machine install the new version but keep the old version also installed, the new version automatically takes over the file association for this type from the old version of the app.  But the default OS behavior seems to be to grant the earliest installed app associated with a file type to be it's permanent owner unless the user manually changes it.  I know that the command line tool <a href="http://duti.org/" rel="nofollow">duti</a> can make association changes, and also the system file com.apple.LaunchServices.plist can be edited, but these don't seem like the best or most reliable way to go about this programmatically from an app.  Is there any "right"/Apple-sanctioned way to do what I want?</p>