@@ -33,8 +33,11 @@ extension NSItemProvider {
33
33
}
34
34
}
35
35
36
- class ActionViewController : SLComposeServiceViewController {
37
- private var isKlar : Bool { return ( Bundle . main. infoDictionary![ " CFBundleIdentifier " ] as! String ) . contains ( " Klar " ) }
36
+ final class ActionViewController : SLComposeServiceViewController {
37
+ private var isKlar : Bool {
38
+ guard let string = Bundle . main. infoDictionary ? [ " CFBundleIdentifier " ] as? String else { return false }
39
+ return string. contains ( " Klar " )
40
+ }
38
41
private var urlScheme : String { return isKlar ? " firefox-klar " : " firefox-focus " }
39
42
40
43
override func isContentValid( ) -> Bool { return true }
@@ -97,21 +100,21 @@ class ActionViewController: SLComposeServiceViewController {
97
100
}
98
101
99
102
private func handleUrl( _ url: NSURL ) {
100
- // From http ://stackoverflow.com/questions/24297273/openurl-not-work-in-action-extension
103
+ // From https ://stackoverflow.com/questions/24297273/openurl-not-work-in-action-extension
101
104
var responder = self as UIResponder ?
102
105
let selectorOpenURL = sel_registerName ( " openURL: " )
103
- while responder != nil {
106
+ while let currentResponder = responder {
104
107
if #available( iOS 18 . 0 , * ) {
105
108
if let application = responder as? UIApplication {
106
109
application. open ( url as URL , options: [ : ] , completionHandler: nil )
107
110
}
108
111
} else {
109
- if responder! . responds ( to: selectorOpenURL) {
110
- responder! . callSelector ( selector: selectorOpenURL, object: url, delay: 0 )
112
+ if currentResponder . responds ( to: selectorOpenURL) {
113
+ currentResponder . callSelector ( selector: selectorOpenURL, object: url, delay: 0 )
111
114
}
112
115
}
113
116
114
- responder = responder! . next
117
+ responder = currentResponder . next
115
118
}
116
119
finish ( )
117
120
}
0 commit comments