Я довольно новичок в iOS, исходящей от Android. Мне немного сложно понять всю связь с файлом и mime. Это немного запутанно ... Я искал все образцы, и я просто больше смутился.Ассоциация воспроизведения плейлистов/аудио файлов из браузера не работает
По существу, чтобы начать работу, я хочу поддержать всплывающие плейлисты m3u из браузера, электронной почты и файловых браузеров ... в моем приложении. Следующая информация - это то, что обычно видно для плейлиста m3u.
Uri схема
файл или HTTP
Мим
аудио/х-mpegurl, аудио/mpegurl, применение/х-Winamp-список воспроизведения, аудио/scpls, аудио/x- scpls
расширение файла
.m3u с потенциалом запроса в конце, такие как .m3u? ID = 21312312
UPDATE 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>
Кажется странным, что его использование public.audio для файла m3u. Разве это не должно быть: public.text и public.playlist? Кроме того, можете ли вы публиковать какие-либо ошибки или подтвердить, что вы не получаете какие-либо из них? – LoghamLogan
Я не вижу никаких ошибок. Браузер просто открывает файл и пытается его воспроизвести ....:/Я попытался добавить public.text и public.playlist, но не имел никакого различия. Я определенно не понимаю ничего о типах документов и экспортированных UTI. Возможно, мне понадобится какой-то общий тип открытых файлов для начала работы. – Jona
Я не думаю, что есть способ предотвратить сафари от автоматического открытия любого файла, который он может, а в случае с фильмами и видео он не даст вам возможность играть в другое приложение. Лучшее решение, о котором я могу думать, будет создавать плагин с плагинами для совместного использования сафари, который при активации будет сканировать страницу для любых ссылок .m3u и изменить их все на пользовательскую ссылку, открывающую ваше приложение. – TyloBedo