From 03d9407bafa6015568550b689b27c8e32dbe44ed Mon Sep 17 00:00:00 2001 From: jahorton Date: Wed, 19 May 2021 15:45:48 +0700 Subject: [PATCH] fix(oem/fv/ios): fixes dependency links --- .../Keyman/Keyman.xcodeproj/project.pbxproj | 109 +++++++++--- oem/firstvoices/ios/.gitignore | 1 + .../ios/FirstVoices.xcodeproj/project.pbxproj | 164 +++++++++--------- oem/firstvoices/ios/SWKeyboard/Info.plist | 2 +- oem/firstvoices/ios/build_common.sh | 19 +- 5 files changed, 174 insertions(+), 121 deletions(-) diff --git a/ios/keyman/Keyman/Keyman.xcodeproj/project.pbxproj b/ios/keyman/Keyman/Keyman.xcodeproj/project.pbxproj index 92dc17f831..e3e828abd4 100644 --- a/ios/keyman/Keyman/Keyman.xcodeproj/project.pbxproj +++ b/ios/keyman/Keyman/Keyman.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ @@ -114,9 +114,6 @@ C055F0B11F60E8D400140735 /* GetStartedViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C055F0B01F60E8D400140735 /* GetStartedViewController.swift */; }; C055F0B31F60F7A400140735 /* DropDownView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C055F0B21F60F7A400140735 /* DropDownView.swift */; }; C055F0B51F610FB200140735 /* DropDownListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C055F0B41F610FB200140735 /* DropDownListView.swift */; }; - C059FCB91FD925AF00BD1A64 /* ObjcExceptionBridging.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1687ACD11FD8DE7600926D69 /* ObjcExceptionBridging.framework */; }; - C059FCBA1FD925AF00BD1A64 /* XCGLogger.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1687ACD01FD8DE7600926D69 /* XCGLogger.framework */; }; - C059FCBB1FD925AF00BD1A64 /* Zip.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 165C8B8F1FD8221800D4A78D /* Zip.framework */; }; C059FCC01FD927EF00BD1A64 /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = C059FCBF1FD927EF00BD1A64 /* Log.swift */; }; C0A1A6311F5E4F4300EAF822 /* InfoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0A1A6301F5E4F4300EAF822 /* InfoViewController.swift */; }; C0A1A6331F5E749000EAF822 /* SetUpViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0A1A6321F5E749000EAF822 /* SetUpViewController.swift */; }; @@ -129,8 +126,6 @@ C0FF769E1F5D4ECB00BD23C3 /* ActivityItemProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0FF769D1F5D4ECB00BD23C3 /* ActivityItemProvider.swift */; }; CE1F5ECE23331DA400141F3E /* OfflineHelp.bundle in Resources */ = {isa = PBXBuildFile; fileRef = CE1F5ECD23331DA400141F3E /* OfflineHelp.bundle */; }; CE4C654624D0020900070856 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = CE4C654424D0020900070856 /* Localizable.strings */; }; - CE4E73D024170C9A00EBD1A5 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE002CB42408B4A5002026CE /* Sentry.framework */; }; - CE6138021FB999C8009D0EF2 /* KeymanEngine.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE6138031FB999C8009D0EF2 /* KeymanEngine.framework */; }; CE76FF8023EBB5CB005648A8 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 98C893F119F0811A000B9AC8 /* Images.xcassets */; }; CE79B23C23C6E8E6007E72AE /* KeyboardViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0FF769A1F5D368C00BD23C3 /* KeyboardViewController.swift */; }; CE79B23D23C6ECB2007E72AE /* banner-Landscape-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 985EA9D419E64A580006C017 /* banner-Landscape-568h@2x.png */; }; @@ -149,6 +144,20 @@ CE7FF1F0239A0293007859D9 /* PackageBrowserViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE7FF1EF239A0293007859D9 /* PackageBrowserViewController.swift */; }; CE80AD33257F2B4A008D2150 /* KeymanEngine.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE80AD32257F2B4A008D2150 /* KeymanEngine.framework */; }; CE80AD34257F2B4B008D2150 /* KeymanEngine.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CE80AD32257F2B4A008D2150 /* KeymanEngine.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + CEBD34322654FE3500EB2EA8 /* KeymanEngine.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE80AD32257F2B4A008D2150 /* KeymanEngine.framework */; }; + CEBD34332654FE3500EB2EA8 /* KeymanEngine.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CE80AD32257F2B4A008D2150 /* KeymanEngine.framework */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; + CEBD343B2654FEB400EB2EA8 /* DeviceKit.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD34352654FEB400EB2EA8 /* DeviceKit.xcframework */; }; + CEBD343C2654FEB400EB2EA8 /* DeviceKit.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD34352654FEB400EB2EA8 /* DeviceKit.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + CEBD343D2654FEB400EB2EA8 /* ObjcExceptionBridging.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD34362654FEB400EB2EA8 /* ObjcExceptionBridging.xcframework */; }; + CEBD343E2654FEB400EB2EA8 /* ObjcExceptionBridging.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD34362654FEB400EB2EA8 /* ObjcExceptionBridging.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + CEBD343F2654FEB400EB2EA8 /* Reachability.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD34372654FEB400EB2EA8 /* Reachability.xcframework */; }; + CEBD34402654FEB400EB2EA8 /* Reachability.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD34372654FEB400EB2EA8 /* Reachability.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + CEBD34412654FEB400EB2EA8 /* Sentry.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD34382654FEB400EB2EA8 /* Sentry.xcframework */; }; + CEBD34422654FEB400EB2EA8 /* Sentry.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD34382654FEB400EB2EA8 /* Sentry.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + CEBD34432654FEB400EB2EA8 /* XCGLogger.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD34392654FEB400EB2EA8 /* XCGLogger.xcframework */; }; + CEBD34442654FEB400EB2EA8 /* XCGLogger.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD34392654FEB400EB2EA8 /* XCGLogger.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + CEBD34452654FEB400EB2EA8 /* Zip.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD343A2654FEB400EB2EA8 /* Zip.xcframework */; }; + CEBD34462654FEB400EB2EA8 /* Zip.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD343A2654FEB400EB2EA8 /* Zip.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; CEF4E55623E95B7B0065B9C7 /* ImageBanner.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEF4E55523E95B7B0065B9C7 /* ImageBanner.xib */; }; CEF4E55723E95B7B0065B9C7 /* ImageBanner.xib in Resources */ = {isa = PBXBuildFile; fileRef = CEF4E55523E95B7B0065B9C7 /* ImageBanner.xib */; }; CEF4E55923E967140065B9C7 /* ImageBannerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEF4E55823E967140065B9C7 /* ImageBannerViewController.swift */; }; @@ -173,7 +182,24 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( + CEBD34402654FEB400EB2EA8 /* Reachability.xcframework in Embed Frameworks */, + CEBD343E2654FEB400EB2EA8 /* ObjcExceptionBridging.xcframework in Embed Frameworks */, + CEBD343C2654FEB400EB2EA8 /* DeviceKit.xcframework in Embed Frameworks */, + CEBD34422654FEB400EB2EA8 /* Sentry.xcframework in Embed Frameworks */, + CEBD34442654FEB400EB2EA8 /* XCGLogger.xcframework in Embed Frameworks */, CE80AD34257F2B4B008D2150 /* KeymanEngine.framework in Embed Frameworks */, + CEBD34462654FEB400EB2EA8 /* Zip.xcframework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + CEBD34342654FE3500EB2EA8 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + CEBD34332654FE3500EB2EA8 /* KeymanEngine.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -186,11 +212,8 @@ 162E2C9A20926C9B00F40769 /* KMNavigationBarBackgroundView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMNavigationBarBackgroundView.swift; sourceTree = ""; }; 162E2C9C2092BFE400F40769 /* KMUnderscoreView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMUnderscoreView.swift; sourceTree = ""; }; 162E2C9E2092D36800F40769 /* UIDevice+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIDevice+Extensions.swift"; sourceTree = ""; }; - 165C8B8F1FD8221800D4A78D /* Zip.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Zip.framework; path = ../../Carthage/Build/iOS/Zip.framework; sourceTree = ""; }; 165EB3992097165B00040A69 /* UIColor+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIColor+Extensions.swift"; sourceTree = ""; }; 165EB39B2097181D00040A69 /* KMView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMView.swift; sourceTree = ""; }; - 1687ACD01FD8DE7600926D69 /* XCGLogger.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCGLogger.framework; path = ../../Carthage/Build/iOS/XCGLogger.framework; sourceTree = ""; }; - 1687ACD11FD8DE7600926D69 /* ObjcExceptionBridging.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ObjcExceptionBridging.framework; path = ../../Carthage/Build/iOS/ObjcExceptionBridging.framework; sourceTree = ""; }; 16A9229D20325253003CC98E /* Keyman-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Keyman-Info.plist"; sourceTree = SOURCE_ROOT; }; 37378F4222C9AA610043F22B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainViewController_iPad.xib; sourceTree = ""; }; 37378F4322C9AA630043F22B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainViewController_iPhone.xib; sourceTree = ""; }; @@ -309,10 +332,8 @@ C0FF769A1F5D368C00BD23C3 /* KeyboardViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.swift; path = KeyboardViewController.swift; sourceTree = ""; tabWidth = 2; }; C0FF769C1F5D4ECA00BD23C3 /* Keyman-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Keyman-Bridging-Header.h"; sourceTree = ""; }; C0FF769D1F5D4ECB00BD23C3 /* ActivityItemProvider.swift */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.swift; path = ActivityItemProvider.swift; sourceTree = ""; tabWidth = 2; }; - CE002CB42408B4A5002026CE /* Sentry.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sentry.framework; path = ../../Carthage/Build/iOS/Sentry.framework; sourceTree = ""; }; CE1F5ECD23331DA400141F3E /* OfflineHelp.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = OfflineHelp.bundle; sourceTree = ""; }; CE4C654524D0020900070856 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; - CE6138031FB999C8009D0EF2 /* KeymanEngine.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = KeymanEngine.framework; sourceTree = BUILT_PRODUCTS_DIR; }; CE72B3D62643ABB7006821CE /* az */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = az; path = az.lproj/Localizable.strings; sourceTree = ""; }; CE79CDB42370111200010C06 /* Themes+Colors.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Themes+Colors.xcassets"; sourceTree = ""; }; CE7A26D523CEEB8D0005955C /* UIColors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = UIColors.swift; path = ../../../engine/KMEI/KeymanEngine/Classes/UIColors.swift; sourceTree = ""; }; @@ -323,6 +344,12 @@ CEACC90E25F07D58006EAB45 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; CEACC90F25F07D5A006EAB45 /* km */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = km; path = km.lproj/Localizable.strings; sourceTree = ""; }; CEACC91225F07D77006EAB45 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = de.lproj/Localizable.strings; sourceTree = ""; }; + CEBD34352654FEB400EB2EA8 /* DeviceKit.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = DeviceKit.xcframework; path = /Users/jahorton/keymanapp/keyman/ios/engine/KMEI/../../Carthage/Build/DeviceKit.xcframework; sourceTree = ""; }; + CEBD34362654FEB400EB2EA8 /* ObjcExceptionBridging.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = ObjcExceptionBridging.xcframework; path = /Users/jahorton/keymanapp/keyman/ios/engine/KMEI/../../Carthage/Build/ObjcExceptionBridging.xcframework; sourceTree = ""; }; + CEBD34372654FEB400EB2EA8 /* Reachability.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Reachability.xcframework; path = /Users/jahorton/keymanapp/keyman/ios/engine/KMEI/../../Carthage/Build/Reachability.xcframework; sourceTree = ""; }; + CEBD34382654FEB400EB2EA8 /* Sentry.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Sentry.xcframework; path = /Users/jahorton/keymanapp/keyman/ios/engine/KMEI/../../Carthage/Build/Sentry.xcframework; sourceTree = ""; }; + CEBD34392654FEB400EB2EA8 /* XCGLogger.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = XCGLogger.xcframework; path = /Users/jahorton/keymanapp/keyman/ios/engine/KMEI/../../Carthage/Build/XCGLogger.xcframework; sourceTree = ""; }; + CEBD343A2654FEB400EB2EA8 /* Zip.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Zip.xcframework; path = /Users/jahorton/keymanapp/keyman/ios/engine/KMEI/../../Carthage/Build/Zip.xcframework; sourceTree = ""; }; CEF4E55523E95B7B0065B9C7 /* ImageBanner.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ImageBanner.xib; sourceTree = ""; }; CEF4E55823E967140065B9C7 /* ImageBannerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImageBannerViewController.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -332,7 +359,13 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + CEBD343F2654FEB400EB2EA8 /* Reachability.xcframework in Frameworks */, + CEBD343D2654FEB400EB2EA8 /* ObjcExceptionBridging.xcframework in Frameworks */, + CEBD343B2654FEB400EB2EA8 /* DeviceKit.xcframework in Frameworks */, + CEBD34412654FEB400EB2EA8 /* Sentry.xcframework in Frameworks */, + CEBD34432654FEB400EB2EA8 /* XCGLogger.xcframework in Frameworks */, CE80AD33257F2B4A008D2150 /* KeymanEngine.framework in Frameworks */, + CEBD34452654FEB400EB2EA8 /* Zip.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -340,11 +373,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - CE6138021FB999C8009D0EF2 /* KeymanEngine.framework in Frameworks */, - C059FCB91FD925AF00BD1A64 /* ObjcExceptionBridging.framework in Frameworks */, - C059FCBA1FD925AF00BD1A64 /* XCGLogger.framework in Frameworks */, - CE4E73D024170C9A00EBD1A5 /* Sentry.framework in Frameworks */, - C059FCBB1FD925AF00BD1A64 /* Zip.framework in Frameworks */, + CEBD34322654FE3500EB2EA8 /* KeymanEngine.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -520,12 +549,13 @@ 98ABADB2176935E400B62590 /* Frameworks */ = { isa = PBXGroup; children = ( + CEBD34352654FEB400EB2EA8 /* DeviceKit.xcframework */, + CEBD34362654FEB400EB2EA8 /* ObjcExceptionBridging.xcframework */, + CEBD34372654FEB400EB2EA8 /* Reachability.xcframework */, + CEBD34382654FEB400EB2EA8 /* Sentry.xcframework */, + CEBD34392654FEB400EB2EA8 /* XCGLogger.xcframework */, + CEBD343A2654FEB400EB2EA8 /* Zip.xcframework */, CE80AD32257F2B4A008D2150 /* KeymanEngine.framework */, - CE002CB42408B4A5002026CE /* Sentry.framework */, - 1687ACD11FD8DE7600926D69 /* ObjcExceptionBridging.framework */, - 1687ACD01FD8DE7600926D69 /* XCGLogger.framework */, - 165C8B8F1FD8221800D4A78D /* Zip.framework */, - CE6138031FB999C8009D0EF2 /* KeymanEngine.framework */, ); name = Frameworks; sourceTree = ""; @@ -717,6 +747,7 @@ 98CD125A19CA85710089385F /* Resources */, CED3CFDA240E49DF001540A1 /* ShellScript */, 37BC8FFD1DE83BBD006AEBFF /* Headers */, + CEBD34342654FE3500EB2EA8 /* Embed Frameworks */, ); buildRules = ( ); @@ -1085,7 +1116,10 @@ GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; INFOPLIST_FILE = "Keyman-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); LIBRARY_SEARCH_PATHS = "$(inherited)"; ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = ""; @@ -1117,7 +1151,10 @@ GCC_PREFIX_HEADER = "Keyman/Keyman-Prefix.pch"; INFOPLIST_FILE = "Keyman-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); LIBRARY_SEARCH_PATHS = "$(inherited)"; ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = ""; @@ -1240,7 +1277,8 @@ OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; OTHER_LDFLAGS = ""; SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -1270,7 +1308,11 @@ GCC_WARN_UNUSED_FUNCTION = YES; INFOPLIST_FILE = SWKeyboard/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); LIBRARY_SEARCH_PATHS = "$(inherited)"; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = NO; @@ -1310,7 +1352,11 @@ GCC_WARN_UNUSED_FUNCTION = YES; INFOPLIST_FILE = SWKeyboard/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); LIBRARY_SEARCH_PATHS = "$(inherited)"; MTL_ENABLE_DEBUG_INFO = NO; ONLY_ACTIVE_ARCH = NO; @@ -1401,7 +1447,10 @@ GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)"; INFOPLIST_FILE = "Keyman-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); LIBRARY_SEARCH_PATHS = "$(inherited)"; ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = ""; @@ -1443,7 +1492,11 @@ GCC_WARN_UNUSED_FUNCTION = YES; INFOPLIST_FILE = SWKeyboard/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); LIBRARY_SEARCH_PATHS = "$(inherited)"; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = NO; diff --git a/oem/firstvoices/ios/.gitignore b/oem/firstvoices/ios/.gitignore index 203ea428aa..ba64be164b 100644 --- a/oem/firstvoices/ios/.gitignore +++ b/oem/firstvoices/ios/.gitignore @@ -4,5 +4,6 @@ project.xcworkspace xcuserdata build KeymanEngine.framework +KeymanEngine.xcframework FirstVoices/Keyboards Carthage diff --git a/oem/firstvoices/ios/FirstVoices.xcodeproj/project.pbxproj b/oem/firstvoices/ios/FirstVoices.xcodeproj/project.pbxproj index d0f19881fc..bfe957bd35 100644 --- a/oem/firstvoices/ios/FirstVoices.xcodeproj/project.pbxproj +++ b/oem/firstvoices/ios/FirstVoices.xcodeproj/project.pbxproj @@ -3,24 +3,12 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ - 37150F72231637EA00C73C6A /* DeviceKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 37150F6D231637E900C73C6A /* DeviceKit.framework */; }; - 37150F73231637EA00C73C6A /* ObjcExceptionBridging.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 37150F6E231637EA00C73C6A /* ObjcExceptionBridging.framework */; }; - 37150F74231637EA00C73C6A /* Reachability.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 37150F6F231637EA00C73C6A /* Reachability.framework */; }; - 37150F75231637EA00C73C6A /* Zip.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 37150F70231637EA00C73C6A /* Zip.framework */; }; - 37150F76231637EA00C73C6A /* XCGLogger.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 37150F71231637EA00C73C6A /* XCGLogger.framework */; }; - 3729344024613C9900C5428C /* ObjcExceptionBridging.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 37150F6E231637EA00C73C6A /* ObjcExceptionBridging.framework */; }; - 3729344124613CA700C5428C /* XCGLogger.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 37150F71231637EA00C73C6A /* XCGLogger.framework */; }; - 3729344224613CB600C5428C /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 372A4B9C245E904A001C1F80 /* Sentry.framework */; }; - 3729344324613CC200C5428C /* Zip.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 37150F70231637EA00C73C6A /* Zip.framework */; }; - 372A4B9D245E904A001C1F80 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 372A4B9C245E904A001C1F80 /* Sentry.framework */; }; 37C183B922932AD2009F9EFD /* FVKeyboardList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37C183B822932AD2009F9EFD /* FVKeyboardList.swift */; }; 37C183BD2293321C009F9EFD /* Instructions in Resources */ = {isa = PBXBuildFile; fileRef = 37C183BC2293321C009F9EFD /* Instructions */; }; - 37EA1F1F228A1823003E710C /* KeymanEngine.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 37EA1F1D228A1809003E710C /* KeymanEngine.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 37EA1F20228A183E003E710C /* KeymanEngine.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 37EA1F1D228A1809003E710C /* KeymanEngine.framework */; }; 37EA1F23228A1F57003E710C /* FVInputViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EA1F22228A1F57003E710C /* FVInputViewController.swift */; }; 37EA1F26228B5D6E003E710C /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EA1F25228B5D6E003E710C /* AppDelegate.swift */; }; 37EA1F28228B5E2B003E710C /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 37EA1F27228B5E2B003E710C /* ViewController.swift */; }; @@ -52,7 +40,22 @@ 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 */; }; + CEBD34022654D41200EB2EA8 /* KeymanEngine.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD34012654D41200EB2EA8 /* KeymanEngine.xcframework */; }; + CEBD34032654D41200EB2EA8 /* KeymanEngine.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD34012654D41200EB2EA8 /* KeymanEngine.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + CEBD341A2654D76600EB2EA8 /* DeviceKit.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD34052654D4EB00EB2EA8 /* DeviceKit.xcframework */; }; + CEBD341B2654D76600EB2EA8 /* DeviceKit.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD34052654D4EB00EB2EA8 /* DeviceKit.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + CEBD341D2654D76800EB2EA8 /* ObjcExceptionBridging.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD34082654D5AA00EB2EA8 /* ObjcExceptionBridging.xcframework */; }; + CEBD341E2654D76800EB2EA8 /* ObjcExceptionBridging.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD34082654D5AA00EB2EA8 /* ObjcExceptionBridging.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + CEBD341F2654D76900EB2EA8 /* Reachability.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD340C2654D5AB00EB2EA8 /* Reachability.xcframework */; }; + CEBD34202654D76900EB2EA8 /* Reachability.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD340C2654D5AB00EB2EA8 /* Reachability.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + CEBD34222654D76B00EB2EA8 /* Sentry.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD34092654D5AA00EB2EA8 /* Sentry.xcframework */; }; + CEBD34232654D76B00EB2EA8 /* Sentry.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD34092654D5AA00EB2EA8 /* Sentry.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + CEBD34252654D76C00EB2EA8 /* XCGLogger.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD340A2654D5AA00EB2EA8 /* XCGLogger.xcframework */; }; + CEBD34262654D76C00EB2EA8 /* XCGLogger.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD340A2654D5AA00EB2EA8 /* XCGLogger.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + CEBD34272654D76E00EB2EA8 /* Zip.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD340B2654D5AA00EB2EA8 /* Zip.xcframework */; }; + CEBD34282654D76E00EB2EA8 /* Zip.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD340B2654D5AA00EB2EA8 /* Zip.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + CEBD34472654FF3300EB2EA8 /* KeymanEngine.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD34012654D41200EB2EA8 /* KeymanEngine.xcframework */; }; + CEBD34482654FF3300EB2EA8 /* KeymanEngine.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CEBD34012654D41200EB2EA8 /* KeymanEngine.xcframework */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -62,7 +65,13 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 37EA1F1F228A1823003E710C /* KeymanEngine.framework in Embed Frameworks */, + CEBD34202654D76900EB2EA8 /* Reachability.xcframework in Embed Frameworks */, + CEBD341E2654D76800EB2EA8 /* ObjcExceptionBridging.xcframework in Embed Frameworks */, + CEBD341B2654D76600EB2EA8 /* DeviceKit.xcframework in Embed Frameworks */, + CEBD34232654D76B00EB2EA8 /* Sentry.xcframework in Embed Frameworks */, + CEBD34262654D76C00EB2EA8 /* XCGLogger.xcframework in Embed Frameworks */, + CEBD34032654D41200EB2EA8 /* KeymanEngine.xcframework in Embed Frameworks */, + CEBD34282654D76E00EB2EA8 /* Zip.xcframework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -78,19 +87,22 @@ name = "Embed App Extensions"; runOnlyForDeploymentPostprocessing = 0; }; + CEBD34492654FF3300EB2EA8 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + CEBD34482654FF3300EB2EA8 /* KeymanEngine.xcframework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 37150F6D231637E900C73C6A /* DeviceKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DeviceKit.framework; path = Carthage/Build/iOS/DeviceKit.framework; sourceTree = ""; }; - 37150F6E231637EA00C73C6A /* ObjcExceptionBridging.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ObjcExceptionBridging.framework; path = Carthage/Build/iOS/ObjcExceptionBridging.framework; sourceTree = ""; }; - 37150F6F231637EA00C73C6A /* Reachability.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Reachability.framework; path = Carthage/Build/iOS/Reachability.framework; sourceTree = ""; }; - 37150F70231637EA00C73C6A /* Zip.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Zip.framework; path = Carthage/Build/iOS/Zip.framework; sourceTree = ""; }; - 37150F71231637EA00C73C6A /* XCGLogger.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCGLogger.framework; path = Carthage/Build/iOS/XCGLogger.framework; sourceTree = ""; }; - 372A4B9C245E904A001C1F80 /* Sentry.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sentry.framework; path = Carthage/Build/iOS/Sentry.framework; sourceTree = ""; }; - 37B1C771245CD88B00A95075 /* Sentry.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sentry.framework; path = ../../../ios/Carthage/Build/iOS/Sentry.framework; sourceTree = ""; }; 37C183B822932AD2009F9EFD /* FVKeyboardList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FVKeyboardList.swift; sourceTree = ""; }; 37C183BC2293321C009F9EFD /* Instructions */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Instructions; path = FirstVoices/Instructions; sourceTree = ""; }; - 37EA1F1D228A1809003E710C /* KeymanEngine.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = KeymanEngine.framework; sourceTree = ""; }; 37EA1F22228A1F57003E710C /* FVInputViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FVInputViewController.swift; sourceTree = ""; }; 37EA1F25228B5D6E003E710C /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 37EA1F27228B5E2B003E710C /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; @@ -126,6 +138,13 @@ 98C9A8E71BFBF6C1009E9A4F /* banner-Portrait~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "banner-Portrait~ipad.png"; sourceTree = ""; }; 98C9A9F91BFC10D2009E9A4F /* FirstVoices.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = FirstVoices.entitlements; sourceTree = ""; }; 98C9A9FA1BFC1111009E9A4F /* SWKeyboard.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = SWKeyboard.entitlements; sourceTree = ""; }; + CEBD34012654D41200EB2EA8 /* KeymanEngine.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; path = KeymanEngine.xcframework; sourceTree = ""; }; + CEBD34052654D4EB00EB2EA8 /* DeviceKit.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = DeviceKit.xcframework; path = Carthage/Build/DeviceKit.xcframework; sourceTree = ""; }; + CEBD34082654D5AA00EB2EA8 /* ObjcExceptionBridging.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = ObjcExceptionBridging.xcframework; path = Carthage/Build/ObjcExceptionBridging.xcframework; sourceTree = ""; }; + CEBD34092654D5AA00EB2EA8 /* Sentry.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Sentry.xcframework; path = Carthage/Build/Sentry.xcframework; sourceTree = ""; }; + CEBD340A2654D5AA00EB2EA8 /* XCGLogger.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = XCGLogger.xcframework; path = Carthage/Build/XCGLogger.xcframework; sourceTree = ""; }; + CEBD340B2654D5AA00EB2EA8 /* Zip.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Zip.xcframework; path = Carthage/Build/Zip.xcframework; sourceTree = ""; }; + CEBD340C2654D5AB00EB2EA8 /* Reachability.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Reachability.xcframework; path = Carthage/Build/Reachability.xcframework; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -133,12 +152,13 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 37150F72231637EA00C73C6A /* DeviceKit.framework in Frameworks */, - 372A4B9D245E904A001C1F80 /* Sentry.framework in Frameworks */, - 37150F73231637EA00C73C6A /* ObjcExceptionBridging.framework in Frameworks */, - 37150F74231637EA00C73C6A /* Reachability.framework in Frameworks */, - 37150F75231637EA00C73C6A /* Zip.framework in Frameworks */, - 37150F76231637EA00C73C6A /* XCGLogger.framework in Frameworks */, + CEBD341D2654D76800EB2EA8 /* ObjcExceptionBridging.xcframework in Frameworks */, + CEBD341F2654D76900EB2EA8 /* Reachability.xcframework in Frameworks */, + CEBD34222654D76B00EB2EA8 /* Sentry.xcframework in Frameworks */, + CEBD341A2654D76600EB2EA8 /* DeviceKit.xcframework in Frameworks */, + CEBD34022654D41200EB2EA8 /* KeymanEngine.xcframework in Frameworks */, + CEBD34252654D76C00EB2EA8 /* XCGLogger.xcframework in Frameworks */, + CEBD34272654D76E00EB2EA8 /* Zip.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -146,10 +166,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 37EA1F20228A183E003E710C /* KeymanEngine.framework in Frameworks */, - CECB62572463E9FA006E47B5 /* DeviceKit.framework in Frameworks */, - 3729344224613CB600C5428C /* Sentry.framework in Frameworks */, - 3729344324613CC200C5428C /* Zip.framework in Frameworks */, + CEBD34472654FF3300EB2EA8 /* KeymanEngine.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -259,14 +276,13 @@ 98C9A9FB1BFC19ED009E9A4F /* Frameworks */ = { isa = PBXGroup; children = ( - 37B1C771245CD88B00A95075 /* Sentry.framework */, - 372A4B9C245E904A001C1F80 /* Sentry.framework */, - 37150F6D231637E900C73C6A /* DeviceKit.framework */, - 37150F6E231637EA00C73C6A /* ObjcExceptionBridging.framework */, - 37150F6F231637EA00C73C6A /* Reachability.framework */, - 37150F71231637EA00C73C6A /* XCGLogger.framework */, - 37150F70231637EA00C73C6A /* Zip.framework */, - 37EA1F1D228A1809003E710C /* KeymanEngine.framework */, + CEBD34082654D5AA00EB2EA8 /* ObjcExceptionBridging.xcframework */, + CEBD340C2654D5AB00EB2EA8 /* Reachability.xcframework */, + CEBD34092654D5AA00EB2EA8 /* Sentry.xcframework */, + CEBD340A2654D5AA00EB2EA8 /* XCGLogger.xcframework */, + CEBD340B2654D5AA00EB2EA8 /* Zip.xcframework */, + CEBD34052654D4EB00EB2EA8 /* DeviceKit.xcframework */, + CEBD34012654D41200EB2EA8 /* KeymanEngine.xcframework */, ); name = Frameworks; sourceTree = ""; @@ -285,7 +301,6 @@ 37DF007C24595F6F00C73128 /* ShellScript */, 9800EC5D1C029FCD00BF0FB5 /* ShellScript */, 371C855D2288F3A50076612A /* Embed Frameworks */, - 37150F6C2315E4BF00C73C6A /* ShellScript */, ); buildRules = ( ); @@ -304,6 +319,7 @@ 98C9A8B91BFBF23C009E9A4F /* Frameworks */, 98C9A8BA1BFBF23C009E9A4F /* Resources */, 37B453EF245C09CE008877E5 /* ShellScript */, + CEBD34492654FF3300EB2EA8 /* Embed Frameworks */, ); buildRules = ( ); @@ -407,36 +423,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 37150F6C2315E4BF00C73C6A /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "$(SRCROOT)/Carthage/Build/iOS/Zip.framework", - "$(SRCROOT)/Carthage/Build/iOS/ObjcExceptionBridging.framework", - "$(SRCROOT)/Carthage/Build/iOS/XCGLogger.framework", - "$(SRCROOT)/Carthage/Build/iOS/DeviceKit.framework", - "$(SRCROOT)/Carthage/Build/iOS/Reachability.framework", - "$(SRCROOT)/Carthage/Build/iOS/Sentry.framework", - ); - outputFileListPaths = ( - ); - outputPaths = ( - "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Zip.framework", - "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/ObjcExceptionBridging.framework", - "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/XCGLogger.framework", - "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/DeviceKit.framework", - "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Reachability.framework", - "$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Sentry.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "echo \"-- Copying Frameworks --\"\n/usr/local/bin/carthage copy-frameworks\n\n\n"; - showEnvVarsInLog = 0; - }; 37B453EF245C09CE008877E5 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -572,7 +558,7 @@ ENABLE_TESTABILITY = YES; FRAMEWORK_SEARCH_PATHS = ( "$(PROJECT_DIR)", - "$(SRCROOT)/../../../ios/Carthage/Build/iOS/", + "$(SRCROOT)/../../../ios/Carthage/Build/", ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; @@ -634,7 +620,7 @@ ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_SEARCH_PATHS = ( "$(PROJECT_DIR)", - "$(SRCROOT)/../../../ios/Carthage/Build/iOS/", + "$(SRCROOT)/../../../ios/Carthage/Build/", ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; @@ -664,14 +650,13 @@ CODE_SIGN_STYLE = Manual; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = D7TR486TEH; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); INFOPLIST_FILE = FirstVoices/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; KEYMAN_ROOT = "$(SRCROOT)/../../.."; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); LIBRARY_SEARCH_PATHS = "$(inherited)"; "OTHER_SWIFT_FLAGS[arch=*]" = "-D DEBUG"; PRODUCT_BUNDLE_IDENTIFIER = com.firstvoices.keyboards; @@ -694,14 +679,13 @@ CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; DEVELOPMENT_TEAM = D7TR486TEH; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); INFOPLIST_FILE = FirstVoices/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; KEYMAN_ROOT = "$(SRCROOT)/../../.."; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); LIBRARY_SEARCH_PATHS = "$(inherited)"; PRODUCT_BUNDLE_IDENTIFIER = com.firstvoices.keyboards; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -729,7 +713,11 @@ INFOPLIST_FILE = SWKeyboard/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; KEYMAN_ROOT = "$(SRCROOT)/../../.."; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); LIBRARY_SEARCH_PATHS = "$(inherited)"; OTHER_LDFLAGS = ""; "OTHER_SWIFT_FLAGS[arch=*]" = "-D DEBUG"; @@ -760,7 +748,11 @@ INFOPLIST_FILE = SWKeyboard/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; KEYMAN_ROOT = "$(SRCROOT)/../../.."; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@executable_path/../../Frameworks", + ); LIBRARY_SEARCH_PATHS = "$(inherited)"; OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = com.firstvoices.keyboards.swkeyboard; diff --git a/oem/firstvoices/ios/SWKeyboard/Info.plist b/oem/firstvoices/ios/SWKeyboard/Info.plist index 3a06058d70..0b852f402f 100644 --- a/oem/firstvoices/ios/SWKeyboard/Info.plist +++ b/oem/firstvoices/ios/SWKeyboard/Info.plist @@ -43,7 +43,7 @@ NSExtensionPointIdentifier com.apple.keyboard-service NSExtensionPrincipalClass - FVInputViewController + $(PRODUCT_MODULE_NAME).FVInputViewController diff --git a/oem/firstvoices/ios/build_common.sh b/oem/firstvoices/ios/build_common.sh index e3697444b4..7142e0d013 100755 --- a/oem/firstvoices/ios/build_common.sh +++ b/oem/firstvoices/ios/build_common.sh @@ -118,7 +118,7 @@ else PLATFORM_TARGET="iphoneos" fi -KEYMAN_ENGINE_FRAMEWORK_SRC="$KMEI_BUILD_DIR/build/Build/Products/$CONFIG-$PLATFORM_TARGET/KeymanEngine.framework" +KEYMAN_ENGINE_FRAMEWORK_SRC="$KMEI_BUILD_DIR/build/Build/Products/$CONFIG/KeymanEngine.xcframework" KEYMAN_ENGINE_FRAMEWORK_DST=./ if [ $DO_UPDATE = true ]; then @@ -153,11 +153,18 @@ fi # First things first - update our dependencies. if [ $DO_CARTHAGE = true ]; then - echo - echo "Load dependencies with Carthage" - # TODO: Replace the workaround-script with the base `carthage` command once - # we've properly updated to 0.37's better approach. - $KEYMAN_ROOT/resources/build/carthage-workaround.sh bootstrap --platform iOS || fail "carthage bootstrap failed" + echo + echo "Load dependencies with Carthage" + + carthage checkout || fail "Carthage dependency loading failed" + + # Carthage sometimes picks the wrong .xcworkspace if two are available in a dependency's repo. + # Easiest way to override it - delete the wrong one (or just its scheme) + + # Deleted workspace - a test for proper deployment to CocoaPods. Doesn't matter here. + rm -r ./Carthage/Checkouts/DeviceKit/CocoaPodsVerification/ || fail "Carthage dependency loading failed" + + carthage build --use-xcframeworks --platform iOS || fail "Carthage dependency loading failed" fi #