我对来自 Android 的 iOS 相当陌生。我有点难以理解整个文件和 mime 关联交易。这有点令人困惑......我已经到处寻找样本,我只是变得更加困惑。
基本上为了让我开始,我想支持从浏览器、电子邮件和文件浏览器打开 m3u 播放列表......在我的应用程序上。以下信息是通常在 m3u 播放列表中看到的信息。
Uri 方案
文件或 http
Mime
音频/x-mpegurl、音频/mpeg-url、应用程序/x-winamp-playlist、音频/scpls、音频/x-scpls
文件扩展名为
.m3u,末尾带有潜在查询,例如 .m3u?id=21312312
更新 1
文件关联似乎部分工作。目前,单击IceCast目录中的任何电台,它们都会被浏览器打开。但是,如果我通过电子邮件向自己发送播放列表文件,则电子邮件应用程序能够为我提供在我的应用程序上打开播放列表的选项。
这是我更新的 plist 文件。
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array/>
<key>CFBundleTypeName</key>
<string>Playlists</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSItemContentTypes</key>
<array>
<string>com.vblast.xiialive.playlist</string>
</array>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.url</string>
<string>public.file-url</string>
<string>public.filename-extension</string>
<string>public.mime-type</string>
</array>
<key>UTTypeDescription</key>
<string>Playlists</string>
<key>UTTypeIdentifier</key>
<string>com.vblast.xiialive.playlist</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>m3u</string>
<string>pls</string>
<string>asx</string>
</array>
<key>public.mime-type</key>
<array>
<string>audio/playlist</string>
<string>audio/mpegurl</string>
<string>audio/x-mpegurl</string>
<string>audio/m3u</string>
<string>x-winamp-playlist</string>
<string>application/x-winamp-playlist</string>
<string>audio/x-scpls</string>
<string>video/x-ms-asf</string>
</array>
</dict>
</dict>
</array>