Selaa lähdekoodia

URLHandler: Filter protocols for ElseCallbackURLHandler

Soomin Lee 5 vuotta sitten
vanhempi
commit
696295830e
2 muutettua tiedostoa jossa 7 lisäystä ja 1 poistoa
  1. 5 1
      Sources/URLHandler.swift
  2. 2 0
      Sources/VLCConstants.h

+ 5 - 1
Sources/URLHandler.swift

@@ -191,7 +191,11 @@ public class VLCCallbackURLHandler: NSObject, VLCURLHandler {
 
 class ElseCallbackURLHandler: NSObject, VLCURLHandler {
     @objc func canHandleOpen(url: URL, options: [UIApplication.OpenURLOptionsKey: AnyObject]) -> Bool {
-        return true
+        guard let scheme = url.scheme else {
+            return false
+        }
+        return scheme.range(of: kSupportedProtocolSchemes,
+                            options: [.regularExpression, .caseInsensitive], range: nil, locale: nil) != nil
     }
 
     func performOpen(url: URL, options: [UIApplication.OpenURLOptionsKey: AnyObject]) -> Bool {

+ 2 - 0
Sources/VLCConstants.h

@@ -83,6 +83,8 @@
 #define kSupportedAudioFileExtensions @"\\.(3ga|669|a52|aac|ac3|adt|adts|aif|aifc|aiff|amb|amr|aob|ape|au|awb|caf|dts|flac|it|kar|m4a|m4b|m4p|m5p|mid|mka|mlp|mod|mpa|mp1|mp2|mp3|mpc|mpga|mus|oga|ogg|oma|opus|qcp|ra|rmi|s3m|sid|spx|tak|thd|tta|voc|vqf|w64|wav|wma|wv|xa|xm)$"
 #define kSupportedPlaylistFileExtensions @"\\.(asx|b4s|cue|ifo|m3u|m3u8|pls|ram|rar|sdp|vlc|xspf|wax|wvx|zip|conf)$"
 
+#define kSupportedProtocolSchemes @"(rtsp|mms|mmsh|udp|rtp|rtmp|sftp|ftp|smb)$"
+
 #define kVLCDarwinNotificationNowPlayingInfoUpdate @"org.videolan.ios-app.nowPlayingInfoUpdate"
 
 #if TARGET_IPHONE_SIMULATOR