From d44c68c544a966cd29ca580d6dcf102bc2c4740c Mon Sep 17 00:00:00 2001 From: jahorton Date: Thu, 7 May 2020 15:17:21 +0700 Subject: [PATCH 1/5] fix(ios/oem): Fixes library links, Simulator runs --- oem/firstvoices/ios/Cartfile | 2 +- oem/firstvoices/ios/Cartfile.resolved | 6 ++-- .../ios/FirstVoices.xcodeproj/project.pbxproj | 29 +++++++++++-------- oem/firstvoices/ios/build_common.sh | 11 ++++++- 4 files changed, 31 insertions(+), 17 deletions(-) diff --git a/oem/firstvoices/ios/Cartfile b/oem/firstvoices/ios/Cartfile index 7ce86ce9b8..fe449bae4b 100644 --- a/oem/firstvoices/ios/Cartfile +++ b/oem/firstvoices/ios/Cartfile @@ -1,4 +1,4 @@ github "marmelroy/Zip" github "DaveWoodCom/XCGLogger" ~> 6.1.0 -github "dennisweissmann/DeviceKit" ~> 1.11 +github "dennisweissmann/DeviceKit" ~> 2.3 github "ashleymills/Reachability.swift" diff --git a/oem/firstvoices/ios/Cartfile.resolved b/oem/firstvoices/ios/Cartfile.resolved index 04fe6e3bf5..2de933c13a 100644 --- a/oem/firstvoices/ios/Cartfile.resolved +++ b/oem/firstvoices/ios/Cartfile.resolved @@ -1,4 +1,4 @@ github "DaveWoodCom/XCGLogger" "6.1.0" -github "ashleymills/Reachability.swift" "v4.3.1" -github "dennisweissmann/DeviceKit" "1.13.0" -github "marmelroy/Zip" "1.1.0" +github "ashleymills/Reachability.swift" "v5.0.0" +github "dennisweissmann/DeviceKit" "2.3.0" +github "marmelroy/Zip" "2.0.0" diff --git a/oem/firstvoices/ios/FirstVoices.xcodeproj/project.pbxproj b/oem/firstvoices/ios/FirstVoices.xcodeproj/project.pbxproj index 644709e83e..4e1a37bbf8 100644 --- a/oem/firstvoices/ios/FirstVoices.xcodeproj/project.pbxproj +++ b/oem/firstvoices/ios/FirstVoices.xcodeproj/project.pbxproj @@ -47,6 +47,7 @@ 98C9A8F01BFBF6C1009E9A4F /* banner-Portrait@2x~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 98C9A8E51BFBF6C1009E9A4F /* banner-Portrait@2x~ipad.png */; }; 98C9A8F11BFBF6C1009E9A4F /* banner-Portrait@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 98C9A8E61BFBF6C1009E9A4F /* banner-Portrait@3x.png */; }; 98C9A8F21BFBF6C1009E9A4F /* banner-Portrait~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 98C9A8E71BFBF6C1009E9A4F /* banner-Portrait~ipad.png */; }; + CECB62572463E9FA006E47B5 /* DeviceKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 37150F6D231637E900C73C6A /* DeviceKit.framework */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -138,6 +139,10 @@ buildActionMask = 2147483647; files = ( 37EA1F20228A183E003E710C /* KeymanEngine.framework in Frameworks */, + 3729344024613C9900C5428C /* ObjcExceptionBridging.framework in Frameworks */, + 3729344124613CA700C5428C /* XCGLogger.framework in Frameworks */, + CECB62572463E9FA006E47B5 /* DeviceKit.framework in Frameworks */, + 3729344324613CC200C5428C /* Zip.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -605,7 +610,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = FirstVoices/FirstVoices.entitlements; - CODE_SIGN_IDENTITY = "iPhone Distribution"; + CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Manual; DEVELOPMENT_TEAM = D7TR486TEH; FRAMEWORK_SEARCH_PATHS = ( @@ -620,10 +625,10 @@ PRODUCT_BUNDLE_IDENTIFIER = com.firstvoices.keyboards; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = FirstVoices_Keyboards; + PROVISIONING_PROFILE_SPECIFIER = "FirstVoices Keyboards Development"; SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -634,7 +639,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = FirstVoices/FirstVoices.entitlements; - CODE_SIGN_IDENTITY = "iPhone Distribution"; + CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Manual; DEVELOPMENT_TEAM = D7TR486TEH; FRAMEWORK_SEARCH_PATHS = ( @@ -648,9 +653,9 @@ PRODUCT_BUNDLE_IDENTIFIER = com.firstvoices.keyboards; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = FirstVoices_Keyboards; + PROVISIONING_PROFILE_SPECIFIER = "FirstVoices Keyboards Development"; SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; }; name = Release; }; @@ -659,7 +664,7 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = SWKeyboard/SWKeyboard.entitlements; - CODE_SIGN_IDENTITY = "iPhone Distribution"; + CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Manual; DEVELOPMENT_TEAM = D7TR486TEH; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; @@ -673,11 +678,11 @@ PRODUCT_BUNDLE_IDENTIFIER = com.firstvoices.keyboards.swkeyboard; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = FirstVoices_Keyboards_SWKeyboard; + PROVISIONING_PROFILE_SPECIFIER = "FirstVoices Keyboards SWKeyboard Development"; SKIP_INSTALL = YES; SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -686,7 +691,7 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = SWKeyboard/SWKeyboard.entitlements; - CODE_SIGN_IDENTITY = "iPhone Distribution"; + CODE_SIGN_IDENTITY = "iPhone Developer"; CODE_SIGN_STYLE = Manual; DEVELOPMENT_TEAM = D7TR486TEH; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; @@ -699,10 +704,10 @@ PRODUCT_BUNDLE_IDENTIFIER = com.firstvoices.keyboards.swkeyboard; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = FirstVoices_Keyboards_SWKeyboard; + PROVISIONING_PROFILE_SPECIFIER = "FirstVoices Keyboards SWKeyboard Development"; SKIP_INSTALL = YES; SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_VERSION = 4.2; + SWIFT_VERSION = 5.0; }; name = Release; }; diff --git a/oem/firstvoices/ios/build_common.sh b/oem/firstvoices/ios/build_common.sh index 3ab810b517..5b84a9c7b8 100755 --- a/oem/firstvoices/ios/build_common.sh +++ b/oem/firstvoices/ios/build_common.sh @@ -103,7 +103,16 @@ done # Build Keyman Engine # -KEYMAN_ENGINE_FRAMEWORK_SRC="$KMEI_BUILD_DIR/build/Build/Products/$CONFIG-iphoneos/KeymanEngine.framework" +if [ $CONFIG = "Debug" ]; then + # When doing a debug run, we'd like to be able to run the result in the Simulator. + # 'universal' can be run both on real devices and in the simulator. + PLATFORM_TARGET="universal" +else + # Actual release builds can't have Simulator-targeted content; Apple will block the submission. + PLATFORM_TARGET="iphoneos" +fi + +KEYMAN_ENGINE_FRAMEWORK_SRC="$KMEI_BUILD_DIR/build/Build/Products/$CONFIG-$PLATFORM_TARGET/KeymanEngine.framework" KEYMAN_ENGINE_FRAMEWORK_DST=./ if [ $DO_UPDATE = true ]; then From cce9d7690540193277c2591f461a85c19b1c32a0 Mon Sep 17 00:00:00 2001 From: jahorton Date: Thu, 7 May 2020 16:04:45 +0700 Subject: [PATCH 2/5] fix(ios/oem): adjusts to unexpected keyboard metadata shift for languages --- oem/firstvoices/ios/FirstVoices/FVKeyboardList.swift | 2 +- oem/firstvoices/ios/FirstVoices/KeyboardInfo.swift | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/oem/firstvoices/ios/FirstVoices/FVKeyboardList.swift b/oem/firstvoices/ios/FirstVoices/FVKeyboardList.swift index 39dbe4a0ea..fc16b60711 100644 --- a/oem/firstvoices/ios/FirstVoices/FVKeyboardList.swift +++ b/oem/firstvoices/ios/FirstVoices/FVKeyboardList.swift @@ -229,7 +229,7 @@ class FVRegionStorage { let keyboard: InstallableKeyboard = InstallableKeyboard.init(id: kb.id, name: kb.name, - languageID: keyboardInfo.languages.keys[keyboardInfo.languages.startIndex], + languageID: keyboardInfo.languages[keyboardInfo.languages.startIndex], languageName: kb.name, version: keyboardInfo.version, isRTL: false, diff --git a/oem/firstvoices/ios/FirstVoices/KeyboardInfo.swift b/oem/firstvoices/ios/FirstVoices/KeyboardInfo.swift index 5df939c6be..1a0a27d642 100644 --- a/oem/firstvoices/ios/FirstVoices/KeyboardInfo.swift +++ b/oem/firstvoices/ios/FirstVoices/KeyboardInfo.swift @@ -17,17 +17,12 @@ import Foundation // display and install the keyboard into Keyman Engine. Most of the data // in the files is ignored. // -struct KeyboardInfoLanguage: Decodable { - let displayName: String - let languageName: String - let scriptName: String -} struct KeyboardInfo: Decodable { let id: String let version: String let name: String - let languages: [String:KeyboardInfoLanguage] + let languages: [String] } class KeyboardInfoParser { From eaff52f5f57e5d85218a1344c26d88de1bbac806 Mon Sep 17 00:00:00 2001 From: jahorton Date: Fri, 8 May 2020 09:10:36 +0700 Subject: [PATCH 3/5] change(ios/oem): reverts Reachability version change in Cartfile.resolved --- oem/firstvoices/ios/Cartfile.resolved | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oem/firstvoices/ios/Cartfile.resolved b/oem/firstvoices/ios/Cartfile.resolved index 2de933c13a..660a5d5798 100644 --- a/oem/firstvoices/ios/Cartfile.resolved +++ b/oem/firstvoices/ios/Cartfile.resolved @@ -1,4 +1,4 @@ github "DaveWoodCom/XCGLogger" "6.1.0" -github "ashleymills/Reachability.swift" "v5.0.0" +github "ashleymills/Reachability.swift" "v4.3.1" github "dennisweissmann/DeviceKit" "2.3.0" github "marmelroy/Zip" "2.0.0" From ca744ca4ab1de381f6929beb911ca178cc1b0758 Mon Sep 17 00:00:00 2001 From: jahorton Date: Fri, 8 May 2020 09:27:04 +0700 Subject: [PATCH 4/5] fix(ios): reverts project cert/profile dev changes that slipped in --- .../ios/FirstVoices.xcodeproj/project.pbxproj | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/oem/firstvoices/ios/FirstVoices.xcodeproj/project.pbxproj b/oem/firstvoices/ios/FirstVoices.xcodeproj/project.pbxproj index 4e1a37bbf8..a6ea626c93 100644 --- a/oem/firstvoices/ios/FirstVoices.xcodeproj/project.pbxproj +++ b/oem/firstvoices/ios/FirstVoices.xcodeproj/project.pbxproj @@ -610,7 +610,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = FirstVoices/FirstVoices.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; DEVELOPMENT_TEAM = D7TR486TEH; FRAMEWORK_SEARCH_PATHS = ( @@ -625,10 +625,10 @@ PRODUCT_BUNDLE_IDENTIFIER = com.firstvoices.keyboards; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = "FirstVoices Keyboards Development"; + PROVISIONING_PROFILE_SPECIFIER = FirstVoices_Keyboards; SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 4.2; }; name = Debug; }; @@ -639,7 +639,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = FirstVoices/FirstVoices.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; DEVELOPMENT_TEAM = D7TR486TEH; FRAMEWORK_SEARCH_PATHS = ( @@ -653,9 +653,9 @@ PRODUCT_BUNDLE_IDENTIFIER = com.firstvoices.keyboards; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = "FirstVoices Keyboards Development"; + PROVISIONING_PROFILE_SPECIFIER = FirstVoices_Keyboards; SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 4.2; }; name = Release; }; @@ -664,7 +664,7 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = SWKeyboard/SWKeyboard.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; DEVELOPMENT_TEAM = D7TR486TEH; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; @@ -678,11 +678,11 @@ PRODUCT_BUNDLE_IDENTIFIER = com.firstvoices.keyboards.swkeyboard; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = "FirstVoices Keyboards SWKeyboard Development"; + PROVISIONING_PROFILE_SPECIFIER = FirstVoices_Keyboards_SWKeyboard; SKIP_INSTALL = YES; SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 4.2; }; name = Debug; }; @@ -691,7 +691,7 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = SWKeyboard/SWKeyboard.entitlements; - CODE_SIGN_IDENTITY = "iPhone Developer"; + CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; DEVELOPMENT_TEAM = D7TR486TEH; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; @@ -704,10 +704,10 @@ PRODUCT_BUNDLE_IDENTIFIER = com.firstvoices.keyboards.swkeyboard; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; - PROVISIONING_PROFILE_SPECIFIER = "FirstVoices Keyboards SWKeyboard Development"; + PROVISIONING_PROFILE_SPECIFIER = FirstVoices_Keyboards_SWKeyboard; SKIP_INSTALL = YES; SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_VERSION = 5.0; + SWIFT_VERSION = 4.2; }; name = Release; }; From 19b73cee12d1d65b12749b50c78482be32a4733f Mon Sep 17 00:00:00 2001 From: Joshua Horton Date: Fri, 8 May 2020 09:35:26 +0700 Subject: [PATCH 5/5] fix(ios): Reverts accidental version bump of zip dependency --- oem/firstvoices/ios/Cartfile.resolved | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oem/firstvoices/ios/Cartfile.resolved b/oem/firstvoices/ios/Cartfile.resolved index 660a5d5798..cf08cee0b4 100644 --- a/oem/firstvoices/ios/Cartfile.resolved +++ b/oem/firstvoices/ios/Cartfile.resolved @@ -1,4 +1,4 @@ github "DaveWoodCom/XCGLogger" "6.1.0" github "ashleymills/Reachability.swift" "v4.3.1" github "dennisweissmann/DeviceKit" "2.3.0" -github "marmelroy/Zip" "2.0.0" +github "marmelroy/Zip" "1.1.0"