spiegel-keyman/ios
Joshua Horton 5883d19906 Merge pull request #336 from keymanapp/ios-codesign-fix
Fixes iOS code signing settings for Xcode 9.
2017-10-03 08:09:37 +07:00
..
engine/KMEI Fixes #224 - keyboard width incorrect on newer devices 2017-08-26 14:44:04 +07:00
keyman/Keyman Fixes iOS code signing settings to be compatible with Xcode 9 - it became more restrictive with certain details. 2017-09-29 10:53:21 +07:00
keymanios.xcworkspace Initial commit 2017-08-21 13:54:29 +07:00
samples Add executable bit 2017-08-21 15:00:08 +07:00
.gitignore Initial commit 2017-08-21 13:54:29 +07:00
.swiftlint.yml Migrate MainViewController to Swift 2017-09-11 13:07:06 +07:00
build.sh Corrected the check for archive creation - assertFileExist doesn't work on directories. 2017-10-02 12:44:44 +07:00
exportAppStore.plist Initial commit 2017-08-21 13:54:29 +07:00
history.md Found a typo/mistake on the ios history.md, so I'm throwing in a fix for it. 2017-09-29 09:01:05 +07:00
README.md Fix crash when closing browser 2017-09-28 10:36:53 +07:00

Keyman for iOS

Prerequisites

  • Xcode 9
  • iOS 8+
  • SwiftLint (brew install swiftlint)

Compiling from Command line

To build Keyman for iOS, please run the build.sh build script within this folder. You will need to run with the command-line argument -no-codesign or establish alternate code-signing permissions to complete the build for the final app.

To run the app within a simulator after build.sh is completed, "Run" the Keyman scheme/target within Xcode.

Running the app on a physical device

In order to test any code changes on a physical device, Apple requires that an app be code-signed. The quickest way to handle this for personal testing:

  • Open Xcode and the settings for the Keyman target.
  • Establish personal code-signing permissions.
    • Go to the General tab and enable "Automatically manage signing" and select your "Personal Team."
    • Change the "Bundle Identifier" for both the Keyman and SWKeyboard targets to something personal and unique.
    • Afterward, swap to the Capabilities tab, remove the existing "App Groups", and define your own unique group for the Keyman target.
    • Then, make the "App Group" settings of SWKeyboard match those of Keyman.
    • Perform a find and replace for the group identifier "group.KM4I" and with your selected unique group name.
    • Correct any further error messages Xcode presents you with.
    • Note: All changes for this step (code-signing permissions, app groups, bundle identifier, etc) must be reverted to the original settings for submitted PRs.
  • Under the Product > Destination Xcode menu, select the device you wish to use for testing.
  • Attempt to "Run" Keyman on the device. The operation should fail, but this step is necessary to continue.
  • Now, on the device itself, go to Settings > General > Profiles & Device Management and give your developer account trusted permissions.

You should then be freely able to test the app on your personal development device.