4

我对来自 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>
4

1 回答 1

0

您的浏览器很可能会打开.m3u文件本身,因为它可以,但您的邮件客户端不能,因此它会显示可能关联的应用程序列表。这是您的应用程序出现的地方。

但是,您可以尝试使用jQuery在您的 html 文件中实现此代码

$(document).ready(function() {
    var user_agent_header = navigator.userAgent;

    if(user_agent_header.indexOf('iPhone')!=-1 || user_agent_header.indexOf('iPod')!=-1 || user_agent_header.indexOf('iPad')!=-1){
        setTimeout(function() { window.location="playlistApp://www.mydomain.com/files/myplaylist.m3u";}, 25);
    }

});

代码取自如何从浏览器打开 iOS 应用程序?

于 2014-09-29T01:39:32.890 回答