如何使用CFBundleTypeName添加mp3支持

时间:2011-01-27 04:05:34

标签: iphone ios associations

在像PDF Reader Lite这样的应用程序中,可以通过这种方式将PDF类型与应用程序相关联,当在Safari或电子邮件等应用程序中打开PDF文件时,它将显示打开文件的选项在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>

但是当我打开一个mp3网址(这个网址的扩展名为.mp3的网址 - http://sound18.mp3pk.com/indian/7khoonmaaf/7khoonmaaf01(www.songs.pk).mp3时,它不会显示在我的应用中打开文件的选项。

有人请帮帮我吗?

谢谢,

1 个答案:

答案 0 :(得分:4)

如果将此dict设置为 CFBundleDocumentTypes 键,它实际上有效。

您可以通过向iPhone或iPad发送带有mp3文件的邮件来测试它是否有效。按住附件,将弹出 UIDocumentInteractionController -View。其他应用程序也可以使用 UIDocumentInteractionController see SDK documentation)来允许使用其他应用程序打开文件。

但是,Mobile Safari并不适用于所有媒体类型。因此,当您直接打开URL时,它将无法正常工作。

另一种方法是为您的应用注册URL方案( CFBundleURLTypes ),然后您可以通过该自定义URL方案将URL-String传递给应用( myapp:// www.example.com/file.mp3)。