我对来自Android的iOS相当陌生。我有点难以理解整个文件和mime协会的交易。这有点令人困惑......我已经搜遍了所有样本,我只是更加困惑。
基本上为了让我开始,我想支持在我的应用上打开浏览器,电子邮件和文件浏览器中的m3u播放列表。以下信息是m3u播放列表的一般信息。
Uri计划
文件或http
默
audio / x-mpegurl,audio / mpeg-url,application / x-winamp-playlist,audio / scpls,audio / 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>
答案 0 :(得分: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);
}
});
的代码