title: LSItemContentTypes does not work
body: <p>I'm trying to add a Quick Look plugin to my app, and for this to work I have to work with the devilish UTI system.</p>
  
  <p>My app is a viewer of files with the .myext extension.</p>
  
  <p>The relevant part of my info.plist looks like this:</p>
  
  <pre><code>&lt;key&gt;CFBundleDocumentTypes&lt;/key&gt;
  &lt;array&gt;
      &lt;dict&gt;
          &lt;key&gt;CFBundleTypeExtensions&lt;/key&gt;
          &lt;array&gt;
              &lt;string&gt;myext&lt;/string&gt;
          &lt;/array&gt;
          &lt;key&gt;CFBundleTypeIconFile&lt;/key&gt;
          &lt;string&gt;Icon&lt;/string&gt;
          &lt;key&gt;CFBundleTypeName&lt;/key&gt;
          &lt;string&gt;Description&lt;/string&gt;
          &lt;key&gt;CFBundleTypeRole&lt;/key&gt;
          &lt;string&gt;Viewer&lt;/string&gt;
          &lt;key&gt;LSItemContentTypes&lt;/key&gt;
          &lt;array/&gt;
          &lt;key&gt;LSTypeIsPackage&lt;/key&gt;
          &lt;integer&gt;0&lt;/integer&gt;
          &lt;key&gt;NSDocumentClass&lt;/key&gt;
          &lt;string&gt;Document&lt;/string&gt;
      &lt;/dict&gt;
  &lt;/array&gt;
  </code></pre>
  
  <p>If I try to add a (custom) UTI identifier (com.myapp.myext) to LSItemContentTypes, my app can no longer select any file in its open dialog. Adding exported UTIs does not seem to have any effect. Running mdls on a .myext file return kMDItemContentType = "some.old.identifier", a UTI type which my app used to have when I tried doing the same thing months ago, and no longer appears in lsregister -dump. qlmanage -d 4 shows it has a dyn.xxxxxxx UTI idenitifer.</p>
  
  <p>What do I have to do so both mdls and qlmanage recognize my files as com.myapp.myext?</p>
  
  <p>Extra credit: How and why does mdls categorize .myext files (even newly created ones) as "some.old.identifier", even though it doesn't exist anymore, and even after lsregister -kill? How can I fix this?</p>