Как добавить поддержку mp3 с CFBundleTypeName - PullRequest
2 голосов
/ 27 января 2011

В таких приложениях, как PDF Reader Lite , можно ассоциировать тип PDF с приложением таким образом, когда файл PDF будет открыт в приложении, таком как Safari или электронная почта, в нем будет показана опция открыть файл в приложении PDF Reader Lite.

Возможно ли реализовать подобное для mp3? Я попытался добавить ниже теги в файле Info.plist ниже.

<array>
     <dict>
          <key>CFBundleTypeName</key>
          <string>MPG3</string>
          <key>LSHandlerRank</key>
          <string>Alternate</string>
          <key>LSItemContentTypes</key>
          <array>
               <string>public.mp3</string>
          </array>
     </dict>
</array>

Но когда я открываю URL-адрес mp3 (URL с расширением .mp3 в конце, например, - http://sound18.mp3pk.com/indian/7khoonmaaf/7khoonmaaf01(www.songs.pk).mp3, он не отображает возможность открыть файл в моем приложении.

Кто-нибудь, пожалуйста, помогите мне в этом?

Спасибо

1 Ответ

4 голосов
/ 03 февраля 2011

Это на самом деле работает, если вы установите этот диктованный ключ CFBundleDocumentTypes .

Вы можете проверить, работает ли он, отправив письмо с mp3-файлом на ваш iPhone или iPad.Удерживайте вложение, и откроется UIDocumentInteractionController .Другие приложения также могут использовать UIDocumentInteractionController ( см. Документацию SDK ), чтобы разрешить открытие файлов с другим приложением.

Однако Mobile Safari делает это не для всех типов мультимедиа.Так что он не будет работать, когда вы откроете URL-адрес напрямую.

Альтернативой может быть регистрация схемы URL для вашего приложения ( CFBundleURLTypes ), тогда вы можете передать строку URL-адреса вприложение через эту пользовательскую схему URL ( myapp: //www.example.com/file.mp3).

...