Commit c8012694 by Martijn van Dijk Committed by GitHub

Merge pull request #5 from BaseflowIT/feature/ios_open_appsettings

Open App settings in iOS
parents 5ff59880 09f34a70
...@@ -5,7 +5,9 @@ ...@@ -5,7 +5,9 @@
// Created by Maurits van Beusekom on 26/07/2018. // Created by Maurits van Beusekom on 26/07/2018.
// //
import Flutter
import Foundation import Foundation
import UIKit
class PermissionManager: NSObject { class PermissionManager: NSObject {
...@@ -16,6 +18,22 @@ class PermissionManager: NSObject { ...@@ -16,6 +18,22 @@ class PermissionManager: NSObject {
result(Codec.encodePermissionStatus(permissionStatus: permissionStatus)) result(Codec.encodePermissionStatus(permissionStatus: permissionStatus))
} }
static func openAppSettings(result: @escaping FlutterResult) {
if #available(iOS 8.0, *) {
if #available(iOS 10, *) {
UIApplication.shared.open(URL.init(string: UIApplicationOpenSettingsURLString)!, options: [:],
completionHandler: {
(success) in result(success)
})
} else {
let success = UIApplication.shared.openURL(URL.init(string: UIApplicationOpenSettingsURLString)!)
result(success)
}
}
result(false)
}
private static func createPermissionStrategy(permission: PermissionGroup) -> PermissionStrategy { private static func createPermissionStrategy(permission: PermissionGroup) -> PermissionStrategy {
switch permission { switch permission {
case PermissionGroup.calendar: case PermissionGroup.calendar:
......
...@@ -21,6 +21,8 @@ public class SwiftPermissionHandlerPlugin: NSObject, FlutterPlugin { ...@@ -21,6 +21,8 @@ public class SwiftPermissionHandlerPlugin: NSObject, FlutterPlugin {
PermissionManager.checkPermissionStatus( PermissionManager.checkPermissionStatus(
permission: Codec.decodePermissionGroup(from: call.arguments), permission: Codec.decodePermissionGroup(from: call.arguments),
result: result) result: result)
} else if call.method == "openAppSettings" {
PermissionManager.openAppSettings(result: result)
} else { } else {
result(FlutterMethodNotImplemented) result(FlutterMethodNotImplemented)
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment