Merge pull request #2548 from keymanapp/feat/ios/get-started-settings

feat(ios):  Deeplink into Keyman settings for system keyboard setup
This commit is contained in:
Joshua Horton 2020-01-31 12:22:31 +07:00 • committed by GitHub
commit 9d2f86e6a3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 3 deletions

View file

@ -1,6 +1,7 @@
# Keyman for iPhone and iPad Version History
## 2020-01-30 13.0.62 beta
* Feature: Initial keyboard setup process simplified with direct Settings link [iOS 11.0+ only] (#2548)
* Bug fix: System keyboard now respects "Sounds > Keyboard Clicks" setting (#2550)
## 2020-01-29 13.0.61 beta

View file

@ -114,7 +114,13 @@ class GetStartedViewController: UIViewController, UITableViewDelegate, UITableVi
}
case 1:
cell.textLabel?.text = "Set up Keyman as system-wide keyboard"
cell.detailTextLabel?.text = ""
if #available(iOS 11.0, *) {
// We can expedite this via near-direct settings link.
// So, let's add the one extra needed detail to our detail text.
cell.detailTextLabel?.text = "Keyboards > Enable \"Keyman\""
} else {
cell.detailTextLabel?.text = ""
}
if !AppDelegate.isKeymanEnabledSystemWide() {
cell.accessoryType = .none
} else {
@ -145,9 +151,17 @@ class GetStartedViewController: UIViewController, UITableViewDelegate, UITableVi
mainViewController.dismissGetStartedView(nil)
mainViewController.showInstalledLanguages()
case 1:
if #available(iOS 11.0, *), // if "Keyboards" is an option in our app's settings menu
let appSettings = URL(string: UIApplication.openSettingsURLString) {
UIApplication.shared.openURL(appSettings)
} else {
let setUpVC = SetUpViewController()
mainViewController.present(setUpVC, animated: true, completion: nil)
}
// While it'd be nice to keep it in view, it seems to be automatically dismissed.
// This at least helps keep the app's state properly managed.
mainViewController.dismissGetStartedView(nil)
let setUpVC = SetUpViewController()
mainViewController.present(setUpVC, animated: true, completion: nil)
case 2:
mainViewController.dismissGetStartedView(nil)
mainViewController.infoButtonClick(nil)