Commit 09f34a70 by Maurits van Beusekom

Open App settings from ios

parent 0184bc2a
......@@ -5,7 +5,9 @@
// Created by Maurits van Beusekom on 26/07/2018.
//
import Flutter
import Foundation
import UIKit
class PermissionManager: NSObject {
......@@ -16,6 +18,22 @@ class PermissionManager: NSObject {
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 {
switch permission {
case PermissionGroup.calendar:
......
......@@ -21,6 +21,8 @@ public class SwiftPermissionHandlerPlugin: NSObject, FlutterPlugin {
PermissionManager.checkPermissionStatus(
permission: Codec.decodePermissionGroup(from: call.arguments),
result: result)
} else if call.method == "openAppSettings" {
PermissionManager.openAppSettings(result: result)
} else {
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