Попытка загрузить файлы формата GPX и KML из Mail и Safari с использованием CFBundleDocumentTypes на IPhone - PullRequest
1 голос
/ 06 декабря 2010

Я установил другие типы бинарных документов (например, zip-архивы), и они прекрасно загружаются из Safari и Mail. Но основанные на XML форматы запускают только «Быстрый просмотр» и показывают необработанный код XML. Есть ли что-то еще, что нужно сделать для поддержки форматов на основе XML? Вот список info.plist, который я использую для этих типов:

<key>CFBundleDocumentTypes</key>  
<array>
 <dict>
   <key>CFBundleTypeIconFiles</key>
<array>
    <string>Icon-72.png</string>
    <string>Icon.png</string>
   </array>
   <key>CFBundleTypeName</key>
   <string>GPS Exchange Format (GPX)</string>
   <key>CFBundleTypeRole</key>
   <string>Viewer</string>
   <key>LSHandlerRank</key>
   <string>Owner</string>
   <key>LSItemContentTypes</key>
   <array>
    <string>com.topografix.gpx</string>
   </array>
  </dict>
  <dict>
   <key>CFBundleTypeIconFiles</key>
   <array>
    <string>Icon-72.png</string>
    <string>Icon.png</string>
   </array>
   <key>CFBundleTypeName</key>
   <string>Google Earth KML</string>
   <key>CFBundleTypeRole</key>
   <string>Viewer</string>
   <key>LSHandlerRank</key>
   <string>Owner</string>
   <key>LSItemContentTypes</key>
   <array>
    <string>com.google.earth.kml</string>
   </array>
  </dict>
 </array>
 <key>UTExportedTypeDeclarations</key>
 <array>
  <dict>
   <key>UTTypeIdentifier</key>
   <string>com.google.earth.kml</string>
   <key>UTTypeDescription</key>
   <string>Google Earth KML</string>
   <key>UTTypeReferenceURL</key>
   <string>http://earth.google.com/kml/</string>
   <key>UTTypeTagSpecification</key>
   <dict>
    <key>com.apple.ostype</key>
    <string>GKml</string>
    <key>public.filename-extension</key>
    <array>
     <string>kml</string>
    </array>
    <key>public.mime-type</key>
    <string>application/vnd.google-earth.kml+xml</string>
   </dict>
   <key>UTTypeConformsTo</key>
   <array>
    <string>public.xml</string>
   </array>
  </dict>
  <dict>
   <key>UTTypeIdentifier</key>
   <string>com.topografix.gpx</string>
   <key>UTTypeReferenceURL</key>
   <string>http://www.topografix.com/GPX/1/1/</string>
   <key>UTTypeDescription</key>
   <string>GPS Exchange Format (GPX)</string>
   <key>UTTypeTagSpecification</key>
   <dict>
    <key>public.filename-extension</key>
    <array>
     <string>gpx</string>
    </array>
    <key>public.mime-type</key>
    <string>application/gpx+xml</string>
   </dict>
   <key>UTTypeConformsTo</key>
   <array>
    <string>public.xml</string>
   </array>
  </dict>
 </array>
 <key>UTImportedTypeDeclarations</key>
 <array>
  <dict>
   <key>UTTypeIdentifier</key>
   <string>com.google.earth.kml</string>
   <key>UTTypeDescription</key>
   <string>Google Earth KML</string>
   <key>UTTypeReferenceURL</key>
   <string>http://earth.google.com/kmz/</string>
   <key>UTTypeTagSpecification</key>
   <dict>
    <key>com.apple.ostype</key>
    <string>GKml</string>
    <key>public.filename-extension</key>
    <array>
     <string>kml</string>
    </array>
    <key>public.mime-type</key>
    <string>application/vnd.google-earth.kml+xml</string>
   </dict>
   <key>UTTypeConformsTo</key>
   <array>
    <string>public.xml</string>
   </array>
  </dict>
  <dict>
   <key>UTTypeIdentifier</key>
   <string>com.topografix.gpx</string>
   <key>UTTypeDescription</key>
   <string>GPS Exchange Format (GPX)</string>
   <key>UTTypeReferenceURL</key>
   <string>http://www.topografix.com/GPX/1/1/</string>
   <key>UTTypeTagSpecification</key>
   <dict>
    <key>public.filename-extension</key>
    <array>
     <string>gpx</string>
    </array>
    <key>public.mime-type</key>
    <string>application/gpx+xml</string>
   </dict>
   <key>UTTypeConformsTo</key>
   <array>
    <string>public.xml</string>
   </array>
  </dict>
 </array>
</dict>
...