ios file-handling uti launch-services

¿Por qué mi aplicación de iOS no aparece en el cuadro de diálogo "Abrir en" de otras aplicaciones?



file-handling uti (3)

Debes usar Alternate lugar de Alternative

<key>LSHandlerRank</key> <string>Alternate</string>

Estoy tratando de implementar el proceso de registro que permite que mi aplicación iOS aparezca en la lista "Abrir en" de otras aplicaciones (como se describe en los Temas de programación de interacción de documentos de Apple ). Quiero que mi aplicación pueda manejar el audio de cualquier aplicación que proporcione un formato de archivo de audio estándar (MP3, AIFF, WAV, etc.).

Como lo entiendo, todo lo que debo hacer es agregar la clave CFBundleDocumentTypes , con los subdatos relevantes, a la Info.plist de la aplicación. Esto es lo que puse (a través del editor de Tipos de Documentos de Xcode 4)

<key>CFBundleDocumentTypes</key> <array> <dict> <key>CFBundleTypeIconFiles</key> <array> <string>scrubbulator-icon</string> </array> <key>CFBundleTypeName</key> <string>Audio</string> <key>LSHandlerRank</key> <string>Alternative</string> <key>LSItemContentTypes</key> <array> <string>public.mp3</string> </array> </dict> </array>

La adición de este código no muestra mi aplicación en el menú "Abrir en" de las aplicaciones (estoy probando en un iPhone, usando un MP3 en Dropbox como fuente de archivo. Las aplicaciones AudioMemos y Evernote se muestran para un archivo MP3 en Dropbox , así que sé que el formato es compatible). ¿Hay algo obvio que estoy haciendo mal o hay algo más que debo implementar?

(Nota: no he configurado un elemento UTExportedTypeDeclarations en mi lista de información, ya que entiendo que esto es necesario solo para las UTI personalizadas. Como uso las UTI del sistema, creo que no debería ser necesario, pero corríjame si Estoy equivocado.)

EDITAR

He agregado la siguiente UTI de tipo exportado, sin éxito:

<key>UTExportedTypeDeclarations</key> <array> <dict> <key>UTTypeConformsTo</key> <array> <string>kUTTypeMP3</string> </array> <key>UTTypeDescription</key> <string>Audio file</string> <key>UTTypeIdentifier</key> <string>kUTTypeMP3</string> <key>UTTypeTagSpecification</key> <dict> <key>public.filename-extension</key> <array> <string>mp3</string> </array> </dict> </dict> </array>


Para todos los formatos de archivo estándar:

<key>CFBundleDocumentTypes</key> <array> <dict> <key>CFBundleTypeName</key> <string>Unknown File</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>public.calendar-event</string> <string>public.database</string> <string>public.executable</string> <string>public.data</string> <string>public.content </string> <string>public.item</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>Video</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>public.video</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>Image</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>public.image</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>Web Archive</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>com.apple.webarchive</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>iWork Keynote</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>com.apple.keynote.key</string> <string>com.apple.iwork.keynote.key</string> <string>com.apple.iwork.keynote.kth</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>iWork Numbers</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>com.apple.numbers.numbers</string> <string>com.apple.iwork.numbers.numbers</string> <string>com.apple.iwork.numbers.template</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>iWork Pages</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>com.apple.page.pages</string> <string>com.apple.iwork.pages.pages</string> <string>com.apple.iwork.pages.template</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>OpenDocument Spreadsheet</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>org.oasis.opendocument.spreadsheet</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>OpenDocument Presentation</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>org.oasis.opendocument.presentation</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>OpenDocument Text</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>org.oasis.opendocument.text</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>Folder</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>public.folder</string> </array> </dict>

<dict> <key>CFBundleTypeName</key> <string>Audio</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>public.audio</string> <string>public.mp3</string> <string>public.mpeg-4-audio</string> <string>com.apple.protected-​mpeg-4-audio</string> <string>public.aifc-audio</string> <string>com.apple.coreaudio-​format</string> <string>public.aiff-audio</string> </array> </dict>

<dict> <key>CFBundleTypeName</key> <string>Movie</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>public.movie</string> <string>public.3gpp2</string> <string>public.3gpp</string> <string>public.mpeg</string> <string>com.apple.quicktime-movie</string> <string>public.mpeg-4</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>GIF image</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>com.compuserve.gif</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>PNG image</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>public.png</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>TIFF image</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>public.tiff</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>JPEG image</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>public.jpeg</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>XML</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>public.xml</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>HTML</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>public.html</string> <string>public.xhtml</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>Rich Text</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>public.rtf</string> <string>com.apple.rtfd</string> <string>com.apple.flat-rtfd</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>Text</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>public.text</string> <string>public.plain-text</string> <string>public.utf8-plain-text</string> <string>public.utf16-external-plain-​text</string> <string>public.utf16-plain-text</string> <string>com.apple.traditional-mac-​plain-text</string> <string>public.source-code</string> <string>public.c-source</string> <string>public.objective-c-source</string> <string>public.c-plus-plus-source</string> <string>public.objective-c-plus-​plus-source</string> <string>public.c-header</string> <string>public.c-plus-plus-header</string> <string>com.sun.java-source</string> <string>public.script</string> <string>public.shell-script</string> </array> </dict> <dict> <key>CFBundleTypeExtensions</key> <array> <string>zip</string> <string>zipx</string> </array> <key>CFBundleTypeName</key> <string>Zip archive</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>public.zip-archive</string> <string>public.archive</string> <string>com.pkware.zip-archive</string> <string>com.pkware.zipx-archive</string> </array> </dict> <dict> <key>CFBundleTypeExtensions</key> <array> <string>rar</string> <string>RAR</string> </array> <key>CFBundleTypeName</key> <string>Rar archive</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>com.rarlab.rar-archive</string> <string>public.archive</string> </array> </dict> <dict> <key>CFBundleTypeExtensions</key> <array> <string>7z</string> <string>7Z</string> </array> <key>CFBundleTypeName</key> <string>7z archive</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>org.7-zip.7-zip-archive</string> <string>public.archive</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>Waveform audio</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>com.microsoft.waveform-​audio</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>Windows icon image</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>com.microsoft.ico</string> <string>com.apple.icns</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>Windows bitmap image</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>com.microsoft.bmp</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>Microsoft PowerPoint</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>com.microsoft.powerpoint.​ppt</string> <string>org.openxmlformats.presentationml.presentation</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>Microsoft Excel</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>org.openxmlformats.spreadsheetml.sheet</string> <string>com.microsoft.excel.xls</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>Microsoft Word</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>com.microsoft.word.doc</string> <string>com.microsoft.word.wordml</string> <string>org.openxmlformats.wordprocessingml.document</string> </array> </dict> <dict> <key>CFBundleTypeName</key> <string>PDF</string> <key>LSHandlerRank</key> <string>Alternate</string> <key>LSItemContentTypes</key> <array> <string>com.adobe.pdf</string> </array> </dict> </array>


<key>CFBundleDocumentTypes</key> <array> <dict> <key>CFBundleTypeExtensions</key> <array> <string>"*"</string> </array> <key>CFBundleTypeName</key> <string>Unknown</string> <key>LSItemContentTypes</key> <array> <string>public.data</string> </array> </dict> </array>