// !$*UTF8*$! { archiveVersion = 1; classes = { }; objectVersion = 46; objects = { /* Begin PBXAggregateTarget section */ C06D37C51F82364E00F61AE0 /* KME-universal */ = { isa = PBXAggregateTarget; buildConfigurationList = C06D37C71F82364E00F61AE0 /* Build configuration list for PBXAggregateTarget "KME-universal" */; buildPhases = ( C06D37C61F82364E00F61AE0 /* ShellScript */, ); dependencies = ( C06D37CB1F83204200F61AE0 /* PBXTargetDependency */, ); name = "KME-universal"; productName = "Keyman-lib"; }; /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ 1645D5952036C6FF0076C51B /* KeymanPackage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1645D5942036C6FF0076C51B /* KeymanPackage.swift */; }; 1645D5972036C9F80076C51B /* KMPKeyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1645D5962036C9F80076C51B /* KMPKeyboard.swift */; }; 165EB3A12098993900040A69 /* KeyboardError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 165EB3A02098993900040A69 /* KeyboardError.swift */; }; 6CD5DFAA150F6DC8007A5DDE /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 6CD5DFA8150F6DC8007A5DDE /* icon.png */; }; 6CD5DFAB150F6DC8007A5DDE /* icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 6CD5DFA9150F6DC8007A5DDE /* icon@2x.png */; }; 988B36B61ADF67290008752C /* inuktitut_pirurvik-1.0.js in Resources */ = {isa = PBXBuildFile; fileRef = 988B36B51ADF67290008752C /* inuktitut_pirurvik-1.0.js */; }; 988B36B91ADF728A0008752C /* inuktitut_latin-1.0.js in Resources */ = {isa = PBXBuildFile; fileRef = 988B36B71ADF728A0008752C /* inuktitut_latin-1.0.js */; }; 988B36BA1ADF728A0008752C /* inuktitut_naqittaut-1.0.js in Resources */ = {isa = PBXBuildFile; fileRef = 988B36B81ADF728A0008752C /* inuktitut_naqittaut-1.0.js */; }; 98D4190C17695E58008D2FF3 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 98D4190B17695E58008D2FF3 /* Default-568h@2x.png */; }; 98F9D6A01954112F0087AA43 /* Tavultesoft.KMEI.SystemKeyboard.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 98F9D6971954112F0087AA43 /* Tavultesoft.KMEI.SystemKeyboard.appex */; }; 9A079DCA222E050E00581263 /* LexicalModelKeymanPackage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A079DC9222E050E00581263 /* LexicalModelKeymanPackage.swift */; }; 9A079DD4223194B100581263 /* KeymanEngine.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C06D372B1F81F4E100F61AE0 /* KeymanEngine.framework */; }; 9A079DE62231A69D00581263 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A079DE52231A69D00581263 /* Foundation.framework */; }; 9A079E372238680700581263 /* KMPLexicalModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A079E362238680700581263 /* KMPLexicalModel.swift */; }; 9A079E3A223AFF3C00581263 /* KeyboardKeymanPackage.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A079E39223AFF3C00581263 /* KeyboardKeymanPackage.swift */; }; 9A079E3D223B5FAF00581263 /* InstallableLexicalModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A079E3C223B5FAF00581263 /* InstallableLexicalModel.swift */; }; 9A079E40223B602B00581263 /* LexicalModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A079E3F223B602B00581263 /* LexicalModel.swift */; }; 9A079E43223B61AE00581263 /* FullLexicalModelID.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A079E42223B61AE00581263 /* FullLexicalModelID.swift */; }; 9A082559227589360051EBB0 /* Formatter+ISODateExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A082558227589360051EBB0 /* Formatter+ISODateExtension.swift */; }; 9A0FCA0422D7C49700D33F86 /* DeviceKit.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = CE2B1E4521B60E7C007D092E /* DeviceKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 9A0FCA0522D7C49E00D33F86 /* Reachability.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 9A0FC9FC22D66D9E00D33F86 /* Reachability.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 9A0FCA0622D7C4E100D33F86 /* XCGLogger.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1687ACCC1FD8DE5300926D69 /* XCGLogger.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 9A0FCA0722D7C50800D33F86 /* Zip.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 165C8B8B1FD8220600D4A78D /* Zip.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 9A0FCA0822D7C53500D33F86 /* ObjcExceptionBridging.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1687ACCD1FD8DE5300926D69 /* ObjcExceptionBridging.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 9A0FCA0922D7C58B00D33F86 /* Keyman.bundle in Resources */ = {isa = PBXBuildFile; fileRef = F27FCB51157FE3CE00FBBA20 /* Keyman.bundle */; }; 9A3B14D2229370B20052A11F /* InstalledLanguagesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A3B14D1229370B20052A11F /* InstalledLanguagesViewController.swift */; }; 9A3E832522EAC14A00D22D2A /* KeyboardSwitcherViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A3E832422EAC14A00D22D2A /* KeyboardSwitcherViewController.swift */; }; 9A4609972241B39B00B0BFD1 /* LexicalModelInfoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A4609962241B39B00B0BFD1 /* LexicalModelInfoViewController.swift */; }; 9A4609992242047400B0BFD1 /* LexicalModelAPICall.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A4609982242047400B0BFD1 /* LexicalModelAPICall.swift */; }; 9A60764422893A4E003BCFBA /* SettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A60764322893A4E003BCFBA /* SettingsViewController.swift */; }; 9A9CB08022416E5400231FB9 /* LexicalModelPickerViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A9CB07F22416E5400231FB9 /* LexicalModelPickerViewController.swift */; }; 9A9CB0822241704800231FB9 /* APILexicalModelRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A9CB0812241704800231FB9 /* APILexicalModelRepository.swift */; }; 9A9CB084224170F700231FB9 /* LexicalModelRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A9CB083224170F700231FB9 /* LexicalModelRepository.swift */; }; 9A9CB0862241717C00231FB9 /* LexicalModelRepositoryDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A9CB0852241717C00231FB9 /* LexicalModelRepositoryDelegate.swift */; }; 9AD4F53C229F85AC007992D3 /* LanguageSettingsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AD4F53A229F85AC007992D3 /* LanguageSettingsViewController.swift */; }; 9AD4F53D229F85AC007992D3 /* LanguageSettingsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9AD4F53B229F85AC007992D3 /* LanguageSettingsViewController.xib */; }; 9AD4F53F22A8A286007992D3 /* LanguageSettingsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9AD4F53B229F85AC007992D3 /* LanguageSettingsViewController.xib */; }; 9ADC459D22E1895D004C78C6 /* LanguageLMDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9ADC459B22E1895D004C78C6 /* LanguageLMDetailViewController.swift */; }; 9ADC459F22E1895D004C78C6 /* LanguageLMDetailViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9ADC459C22E1895D004C78C6 /* LanguageLMDetailViewController.xib */; }; 9ADC45A022E1895D004C78C6 /* LanguageLMDetailViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9ADC459C22E1895D004C78C6 /* LanguageLMDetailViewController.xib */; }; C007C4651F9F52D8006461B9 /* LanguagesAPICall.swift in Sources */ = {isa = PBXBuildFile; fileRef = C007C4641F9F52D8006461B9 /* LanguagesAPICall.swift */; }; C024C9941FA6EB470060583B /* NotificationName.swift in Sources */ = {isa = PBXBuildFile; fileRef = C024C9931FA6EB470060583B /* NotificationName.swift */; }; C024C9961FA6EC650060583B /* NotificationCenter+Typed.swift in Sources */ = {isa = PBXBuildFile; fileRef = C024C9951FA6EC650060583B /* NotificationCenter+Typed.swift */; }; C024C9981FA6F2340060583B /* NotificationObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = C024C9971FA6F2330060583B /* NotificationObserver.swift */; }; C0324B8D1F87480700AF3785 /* TextFieldDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0324B8C1F87480700AF3785 /* TextFieldDelegateProxy.swift */; }; C0324B8F1F8750B700AF3785 /* TextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0324B8E1F8750B700AF3785 /* TextView.swift */; }; C0324B911F8763E100AF3785 /* TextViewDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0324B901F8763E100AF3785 /* TextViewDelegateProxy.swift */; }; C0324B931F87689B00AF3785 /* KeymanURLProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0324B921F87689B00AF3785 /* KeymanURLProtocol.swift */; }; C040E50E1F85FF8A00901EE4 /* KeyPreviewView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C040E50D1F85FF8A00901EE4 /* KeyPreviewView.swift */; }; C040E5101F8606E300901EE4 /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = C040E50F1F8606E300901EE4 /* TextField.swift */; }; C040E5121F86107E00901EE4 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C040E5111F86107E00901EE4 /* AppDelegate.swift */; }; C040E5141F86108900901EE4 /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C040E5131F86108900901EE4 /* MainViewController.swift */; }; C042ED5D1FC6A65A001D82F4 /* Version.swift in Sources */ = {isa = PBXBuildFile; fileRef = C042ED5C1FC6A65A001D82F4 /* Version.swift */; }; C04514881F85D7F500D88416 /* KeyboardViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C04514871F85D7F500D88416 /* KeyboardViewController.swift */; }; C045148A1F85DF9100D88416 /* InputViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C04514891F85DF9000D88416 /* InputViewController.swift */; }; C0452BAB1F9F1FE10064431A /* Language.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0452BAA1F9F1FE10064431A /* Language.swift */; }; C0452BAD1F9F21270064431A /* Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0452BAC1F9F21270064431A /* Keyboard.swift */; }; C0452BAF1F9F22A80064431A /* Font.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0452BAE1F9F22A80064431A /* Font.swift */; }; C055E6EB1F99ED090035C2DD /* RegisteredFont.swift in Sources */ = {isa = PBXBuildFile; fileRef = C055E6EA1F99ED090035C2DD /* RegisteredFont.swift */; }; C059FCB71FD924DC00BD1A64 /* Zip.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 165C8B8B1FD8220600D4A78D /* Zip.framework */; }; C059FCB81FD924DC00BD1A64 /* Zip.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 165C8B8B1FD8220600D4A78D /* Zip.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; C059FCBC1FD9266C00BD1A64 /* ObjcExceptionBridging.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1687ACCD1FD8DE5300926D69 /* ObjcExceptionBridging.framework */; }; C059FCBD1FD9266C00BD1A64 /* XCGLogger.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1687ACCC1FD8DE5300926D69 /* XCGLogger.framework */; }; C059FCBE1FD9266C00BD1A64 /* Zip.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 165C8B8B1FD8220600D4A78D /* Zip.framework */; }; C05B14331FD914870082A316 /* Log.swift in Sources */ = {isa = PBXBuildFile; fileRef = C05B14321FD914870082A316 /* Log.swift */; }; C05F43311FBD62550058CBD4 /* JSONDecoder.DateDecodingStrategy+ISO8601Fallback.swift in Sources */ = {isa = PBXBuildFile; fileRef = C05F43301FBD62550058CBD4 /* JSONDecoder.DateDecodingStrategy+ISO8601Fallback.swift */; }; C06085B41F9485E40057E5B9 /* UIButton+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = C06085B31F9485E40057E5B9 /* UIButton+Helpers.swift */; }; C06D372F1F81F4E100F61AE0 /* KeymanEngine.h in Headers */ = {isa = PBXBuildFile; fileRef = C06D372D1F81F4E100F61AE0 /* KeymanEngine.h */; settings = {ATTRIBUTES = (Public, ); }; }; C06D37341F81F5C300F61AE0 /* HTTPDownloader.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0ED71B41F6BBFAF002A2FD6 /* HTTPDownloader.swift */; }; C06D37351F81F5C300F61AE0 /* HTTPDownloadRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0ED71B21F6BB0B1002A2FD6 /* HTTPDownloadRequest.swift */; }; C06D37361F81F5C300F61AE0 /* KeyboardMenuView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C034BBBD1F7CCE7D00021FF5 /* KeyboardMenuView.swift */; }; C06D37381F81F5C400F61AE0 /* SubKeysView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C07B42AE1F7CEE2700ECA97F /* SubKeysView.swift */; }; C06D37401F81F5C400F61AE0 /* LanguageDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C092D8381F6A70C8005C5485 /* LanguageDetailViewController.swift */; }; C06D37411F81F5C400F61AE0 /* LanguageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C04C2A6C1F6B7D9A00BA42B6 /* LanguageViewController.swift */; }; C06D37421F81F5C400F61AE0 /* KeyboardPickerButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = C08C620F1F67BD4500268D03 /* KeyboardPickerButton.swift */; }; C06D37431F81F5C400F61AE0 /* KeyboardPickerBarButtonItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = C08C620B1F6792A200268D03 /* KeyboardPickerBarButtonItem.swift */; }; C06D37441F81F5C400F61AE0 /* KeyboardNameTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C08C62121F67C31100268D03 /* KeyboardNameTableViewCell.swift */; }; C06D37461F81F5C400F61AE0 /* PopoverView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0A5FF361F6682EB00BE740C /* PopoverView.swift */; }; C06D37571F82060900F61AE0 /* KeymanEngine.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C06D372B1F81F4E100F61AE0 /* KeymanEngine.framework */; }; C06D375A1F82075A00F61AE0 /* KeymanEngine.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C06D372B1F81F4E100F61AE0 /* KeymanEngine.framework */; }; C06D375E1F82089200F61AE0 /* KeymanEngine.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = C06D372B1F81F4E100F61AE0 /* KeymanEngine.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; C06D37601F82095200F61AE0 /* Keyman.bundle in Resources */ = {isa = PBXBuildFile; fileRef = F27FCB51157FE3CE00FBBA20 /* Keyman.bundle */; }; C075EB061F8EFF870041F4BD /* String+Helpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = C075EB051F8EFF870041F4BD /* String+Helpers.swift */; }; C07705DD1FD8ED9E00D2F3C7 /* ObjcExceptionBridging.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1687ACCD1FD8DE5300926D69 /* ObjcExceptionBridging.framework */; }; C07705DE1FD8ED9E00D2F3C7 /* ObjcExceptionBridging.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 1687ACCD1FD8DE5300926D69 /* ObjcExceptionBridging.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; C07705DF1FD8ED9E00D2F3C7 /* XCGLogger.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1687ACCC1FD8DE5300926D69 /* XCGLogger.framework */; }; C07705E01FD8ED9E00D2F3C7 /* XCGLogger.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 1687ACCC1FD8DE5300926D69 /* XCGLogger.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; C07A9D8A1FD1762700828ADD /* KeyboardRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = C07A9D891FD1762700828ADD /* KeyboardRepository.swift */; }; C07A9D8C1FD176AB00828ADD /* KeyboardRepositoryDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C07A9D8B1FD176AB00828ADD /* KeyboardRepositoryDelegate.swift */; }; C07A9D8E1FD1798900828ADD /* APIKeyboardRepository.swift in Sources */ = {isa = PBXBuildFile; fileRef = C07A9D8D1FD1798900828ADD /* APIKeyboardRepository.swift */; }; C082CE151F90AFD400860F02 /* Collection+SafeAccess.swift in Sources */ = {isa = PBXBuildFile; fileRef = C082CE141F90AFD400860F02 /* Collection+SafeAccess.swift */; }; C08E698D1FDA392D0026056B /* Migrations.swift in Sources */ = {isa = PBXBuildFile; fileRef = C08E698C1FDA392D0026056B /* Migrations.swift */; }; C08E69911FDA6F6F0026056B /* FullKeyboardID.swift in Sources */ = {isa = PBXBuildFile; fileRef = C08E69901FDA6F6F0026056B /* FullKeyboardID.swift */; }; C0959CD41F99C44E00B616BC /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0959CD31F99C44E00B616BC /* Constants.swift */; }; C0A93A541F8B21240079948B /* Manager.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0A93A531F8B21240079948B /* Manager.swift */; }; C0B09EAE1FCFD10F002F39AF /* FontManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0B09EAD1FCFD10F002F39AF /* FontManager.swift */; }; C0B901AA1FA1AFC200764EB8 /* UserDefaults+Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0B901A91FA1AFC200764EB8 /* UserDefaults+Types.swift */; }; C0C16A891FA8146300F090BA /* KeymanWebViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0C16A881FA8146300F090BA /* KeymanWebViewController.swift */; }; C0CB633C1FA6F61500617CDB /* Notifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0CB633B1FA6F61500617CDB /* Notifications.swift */; }; C0D3F35E1F9F33490055C7CF /* Options.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0D3F35D1F9F33490055C7CF /* Options.swift */; }; C0D3F3601F9F3AD80055C7CF /* InstallableKeyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0D3F35F1F9F3AD80055C7CF /* InstallableKeyboard.swift */; }; C0E30C8C1FC40D0400C80416 /* Storage.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0E30C8B1FC40D0400C80416 /* Storage.swift */; }; C0EF3E7B1F95B65300CE9BD4 /* KeymanWebDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0EF3E7A1F95B65300CE9BD4 /* KeymanWebDelegate.swift */; }; CE02EE0C24A5863100D58F92 /* Queries.bundle in Resources */ = {isa = PBXBuildFile; fileRef = CE02EE0B24A5863100D58F92 /* Queries.bundle */; }; CE02EE0E24A5869500D58F92 /* Queries.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE02EE0D24A5869500D58F92 /* Queries.swift */; }; CE02EE1024A5892200D58F92 /* URLSessionDataTaskMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE02EE0F24A5892200D58F92 /* URLSessionDataTaskMock.swift */; }; CE07E3D2247E3FB100DFA9D2 /* HTTPDownloaderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE07E3D1247E3FB100DFA9D2 /* HTTPDownloaderTests.swift */; }; CE07E3D6247E41DB00DFA9D2 /* URLSessionMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE07E3D5247E41DB00DFA9D2 /* URLSessionMock.swift */; }; CE07E3D8247E43CB00DFA9D2 /* URLSessionDownloadTaskMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE07E3D7247E43CB00DFA9D2 /* URLSessionDownloadTaskMock.swift */; }; CE17ABDE23069E76005FBB14 /* LanguageResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE17ABDD23069E76005FBB14 /* LanguageResource.swift */; }; CE1E1EC12303C8CC001C7BE0 /* ResourceDownloadStatusToolbar.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE1E1EC02303C8CC001C7BE0 /* ResourceDownloadStatusToolbar.swift */; }; CE1F67A32304EB3800FF6972 /* ResourceDownloadManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE1F67A22304EB3800FF6972 /* ResourceDownloadManager.swift */; }; CE22DFBA230B94DB00A4551C /* ResourceDownloadQueue.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE22DFB9230B94DB00A4551C /* ResourceDownloadQueue.swift */; }; CE24ECF021B763740052D291 /* KeymanResponder+Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE24ECEF21B763740052D291 /* KeymanResponder+Types.swift */; }; CE24ECF121B763740052D291 /* KeymanResponder+Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE24ECEF21B763740052D291 /* KeymanResponder+Types.swift */; }; CE24ECF221B763740052D291 /* KeymanResponder+Types.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE24ECEF21B763740052D291 /* KeymanResponder+Types.swift */; }; CE2B1E4721B60E89007D092E /* DeviceKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2B1E4521B60E7C007D092E /* DeviceKit.framework */; }; CE2B1E4821B60E8A007D092E /* DeviceKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2B1E4521B60E7C007D092E /* DeviceKit.framework */; }; CE2B1E4A21B60FB1007D092E /* DeviceKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CE2B1E4521B60E7C007D092E /* DeviceKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; CE37C38B23FCC9EE007031C6 /* Keyboards.bundle in Resources */ = {isa = PBXBuildFile; fileRef = CE37C38A23FCC9EE007031C6 /* Keyboards.bundle */; }; CE37C38D23FCD41E007031C6 /* Keyboards.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE37C38C23FCD41E007031C6 /* Keyboards.swift */; }; CE37C38F23FCD52F007031C6 /* Lexical Models.bundle in Resources */ = {isa = PBXBuildFile; fileRef = CE37C38E23FCD52F007031C6 /* Lexical Models.bundle */; }; CE37C39123FCD617007031C6 /* LexicalModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE37C39023FCD617007031C6 /* LexicalModels.swift */; }; CE4459E723FBBB4A003151FD /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE4459CD23FBBA8D003151FD /* AppDelegate.swift */; }; CE4459E823FBBB79003151FD /* KeymanEngine.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C06D372B1F81F4E100F61AE0 /* KeymanEngine.framework */; }; CE4459E923FBBB79003151FD /* KeymanEngine.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = C06D372B1F81F4E100F61AE0 /* KeymanEngine.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; CE4459EE23FBBB8F003151FD /* DeviceKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2B1E4521B60E7C007D092E /* DeviceKit.framework */; }; CE4459EF23FBBB8F003151FD /* DeviceKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CE2B1E4521B60E7C007D092E /* DeviceKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; CE4459F023FBBB8F003151FD /* ObjcExceptionBridging.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1687ACCD1FD8DE5300926D69 /* ObjcExceptionBridging.framework */; }; CE4459F123FBBB8F003151FD /* ObjcExceptionBridging.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 1687ACCD1FD8DE5300926D69 /* ObjcExceptionBridging.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; CE4459F223FBBB8F003151FD /* Reachability.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A0FC9FC22D66D9E00D33F86 /* Reachability.framework */; }; CE4459F323FBBB8F003151FD /* Reachability.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9A0FC9FC22D66D9E00D33F86 /* Reachability.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; CE4459F423FBBB8F003151FD /* XCGLogger.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1687ACCC1FD8DE5300926D69 /* XCGLogger.framework */; }; CE4459F523FBBB8F003151FD /* XCGLogger.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 1687ACCC1FD8DE5300926D69 /* XCGLogger.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; CE4459F623FBBB8F003151FD /* Zip.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 165C8B8B1FD8220600D4A78D /* Zip.framework */; }; CE4459F723FBBB8F003151FD /* Zip.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 165C8B8B1FD8220600D4A78D /* Zip.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; CE46D65D247B93C9005FD506 /* ResourceInfoView.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE754A0123D151B90030CB79 /* ResourceInfoView.xib */; }; CE67D961228A6F190029F2B5 /* KeyboardCommandStructs.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE67D960228A6F190029F2B5 /* KeyboardCommandStructs.swift */; }; CE71705823A9C14D00A924A1 /* ResourceFileManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE71705723A9C14D00A924A1 /* ResourceFileManager.swift */; }; CE71705F23A9C97F00A924A1 /* PackageInstallViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE71705E23A9C97F00A924A1 /* PackageInstallViewController.swift */; }; CE754A0223D151B90030CB79 /* ResourceInfoView.xib in Resources */ = {isa = PBXBuildFile; fileRef = CE754A0123D151B90030CB79 /* ResourceInfoView.xib */; }; CE754A0423D162E90030CB79 /* ResourceInfoViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE754A0323D162E90030CB79 /* ResourceInfoViewController.swift */; }; CE79B24923C711FF007E72AE /* KeyboardScaleMap.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE79B24823C711FF007E72AE /* KeyboardScaleMap.swift */; }; CE7A26D123CEE5790005955C /* Keyboard Colors.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CE7A26D023CEE5790005955C /* Keyboard Colors.xcassets */; }; CE7A26D423CEE71B0005955C /* Keyboard Colors.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CE7A26D023CEE5790005955C /* Keyboard Colors.xcassets */; }; CE7A26D923CEEC640005955C /* Colors+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE7A26D723CEEC630005955C /* Colors+Extension.swift */; }; CE7A26DB23CEEF640005955C /* Colors.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE7A26DA23CEEF640005955C /* Colors.swift */; }; CE7ADD6623DE89FC00BC9A00 /* Alerts.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE7ADD6523DE89FC00BC9A00 /* Alerts.swift */; }; CE805CE72411FF9100BF0617 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEC0C66B2410AC9A003E1BCD /* Sentry.framework */; }; CE805CE82411FF9100BF0617 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CEC0C66B2410AC9A003E1BCD /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; CE805CE92411FFAA00BF0617 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEC0C66B2410AC9A003E1BCD /* Sentry.framework */; }; CE805CEA2411FFAA00BF0617 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CEC0C66B2410AC9A003E1BCD /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; CE808A48236697BE00713E6B /* DeviceKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE2B1E4521B60E7C007D092E /* DeviceKit.framework */; }; CE808A4B236697D400713E6B /* ObjcExceptionBridging.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1687ACCD1FD8DE5300926D69 /* ObjcExceptionBridging.framework */; }; CE808A4D236697D500713E6B /* Reachability.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A0FC9FC22D66D9E00D33F86 /* Reachability.framework */; }; CE808A4F236697D800713E6B /* XCGLogger.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1687ACCC1FD8DE5300926D69 /* XCGLogger.framework */; }; CE808A532366980A00713E6B /* Zip.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 165C8B8B1FD8220600D4A78D /* Zip.framework */; }; CE867FEF2485E97A00B2EAED /* KMPMetadata.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE867FEE2485E97A00B2EAED /* KMPMetadata.swift */; }; CE867FF12485EE1500B2EAED /* KMPInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE867FF02485EE1500B2EAED /* KMPInfo.swift */; }; CE88042F247F4B97009BCA1A /* ExpectationDownloaderDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE88042E247F4B97009BCA1A /* ExpectationDownloaderDelegate.swift */; }; CE88143A24A9B7F4002809C3 /* ResourceDownloadQueueTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE88143924A9B7F4002809C3 /* ResourceDownloadQueueTests.swift */; }; CE89641F24A4686000D5EB8E /* Queries.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE89641E24A4686000D5EB8E /* Queries.swift */; }; CE89642124A468B200D5EB8E /* Queries+PackageVersion.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE89642024A468B200D5EB8E /* Queries+PackageVersion.swift */; }; CE89642524A46D0000D5EB8E /* QueryPackageVersionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE89642424A46D0000D5EB8E /* QueryPackageVersionTests.swift */; }; CE8B0BBD248734240045EB2E /* KeymanPackageTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE8B0BBC248734240045EB2E /* KeymanPackageTests.swift */; }; CE8B0BBF248764ED0045EB2E /* KMPResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE8B0BBE248764ED0045EB2E /* KMPResource.swift */; }; CE8B5BB22491DA540075CCB0 /* 13.0 Cloud to Package Migration.bundle in Resources */ = {isa = PBXBuildFile; fileRef = CE8B5BB12491DA530075CCB0 /* 13.0 Cloud to Package Migration.bundle */; }; CE8EDEB123F53D1A009E1FF6 /* FileManagementTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A079DD1223194B100581263 /* FileManagementTests.swift */; }; CE8EDEB323F53F96009E1FF6 /* VersionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE8EDEB223F53F96009E1FF6 /* VersionTests.swift */; }; CE973D812484A56500F66045 /* PackageJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE973D802484A56500F66045 /* PackageJSON.swift */; }; CE973D832484A5DC00F66045 /* PackageJSON.bundle in Resources */ = {isa = PBXBuildFile; fileRef = CE973D822484A5DB00F66045 /* PackageJSON.bundle */; }; CE973D852484A71700F66045 /* KMPJSONTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE973D842484A71700F66045 /* KMPJSONTests.swift */; }; CE973D872484BBC200F66045 /* KMPLanguage.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE973D862484BBC200F66045 /* KMPLanguage.swift */; }; CE973D892484DBA600F66045 /* KMPSystem.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE973D882484DBA600F66045 /* KMPSystem.swift */; }; CE973D8B2484DCA300F66045 /* KMPOptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE973D8A2484DCA300F66045 /* KMPOptions.swift */; }; CE973D8D2484DD1900F66045 /* KMPFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE973D8C2484DD1900F66045 /* KMPFile.swift */; }; CE976D4F23FA380700FFDF3A /* Reachability.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A0FC9FC22D66D9E00D33F86 /* Reachability.framework */; }; CE976D5023FA380700FFDF3A /* Reachability.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9A0FC9FC22D66D9E00D33F86 /* Reachability.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; CE9B440C23FE49F000499CAB /* Migrations.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE9B440B23FE49F000499CAB /* Migrations.swift */; }; CE9B440F23FE4E7500499CAB /* 12.0 Ad-hoc Migration.bundle in Resources */ = {isa = PBXBuildFile; fileRef = CE9B440D23FE4E7400499CAB /* 12.0 Ad-hoc Migration.bundle */; }; CE9B441023FE4E7500499CAB /* Simple 12.0 Migration.bundle in Resources */ = {isa = PBXBuildFile; fileRef = CE9B440E23FE4E7500499CAB /* Simple 12.0 Migration.bundle */; }; CE9CD88023FCC1CA002BF2F8 /* TestUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE9CD87F23FCC1CA002BF2F8 /* TestUtils.swift */; }; CE9CD88323FCC4E3002BF2F8 /* UserDefaults.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE9CD88223FCC4E3002BF2F8 /* UserDefaults.swift */; }; CEA6BA9D249872E8002D44CE /* Simple 13.0 Migration.bundle in Resources */ = {isa = PBXBuildFile; fileRef = CEA6BA9C249872E7002D44CE /* Simple 13.0 Migration.bundle */; }; CEC0C66C2410AC9A003E1BCD /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEC0C66B2410AC9A003E1BCD /* Sentry.framework */; }; CEC0C6772410E049003E1BCD /* SentryManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC0C6762410E049003E1BCD /* SentryManager.swift */; }; CED8B63224A9C2400054E300 /* ResourceDownloadManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CED8B63124A9C2400054E300 /* ResourceDownloadManagerTests.swift */; }; CEDFEF8F23FE43B700BECF39 /* MigrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEDFEF8E23FE43B700BECF39 /* MigrationTests.swift */; }; CEF888D223FE6ADF00667693 /* No-defaults 10.0 Migration.bundle in Resources */ = {isa = PBXBuildFile; fileRef = CEF888D023FE6ADE00667693 /* No-defaults 10.0 Migration.bundle */; }; CEF888D323FE6ADF00667693 /* Simple 10.0 Migration.bundle in Resources */ = {isa = PBXBuildFile; fileRef = CEF888D123FE6ADF00667693 /* Simple 10.0 Migration.bundle */; }; CEF888D523FE786C00667693 /* KeyboardScaleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEF888D423FE786C00667693 /* KeyboardScaleTests.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ 98F9D69E1954112F0087AA43 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = F243887514BBD43000A3E055 /* Project object */; proxyType = 1; remoteGlobalIDString = 98F9D6961954112F0087AA43; remoteInfo = SystemKeyboard; }; 98F9D6A11954112F0087AA43 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = F243887514BBD43000A3E055 /* Project object */; proxyType = 1; remoteGlobalIDString = 98F9D6961954112F0087AA43; remoteInfo = SystemKeyboard; }; 9A079DD5223194B100581263 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = F243887514BBD43000A3E055 /* Project object */; proxyType = 1; remoteGlobalIDString = C06D372A1F81F4E100F61AE0; remoteInfo = KeymanEngine; }; C06D37581F8206E400F61AE0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = F243887514BBD43000A3E055 /* Project object */; proxyType = 1; remoteGlobalIDString = C06D372A1F81F4E100F61AE0; remoteInfo = KeymanEngine; }; C06D375B1F82075D00F61AE0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = F243887514BBD43000A3E055 /* Project object */; proxyType = 1; remoteGlobalIDString = C06D372A1F81F4E100F61AE0; remoteInfo = KeymanEngine; }; C06D37CA1F83204200F61AE0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = F243887514BBD43000A3E055 /* Project object */; proxyType = 1; remoteGlobalIDString = C06D372A1F81F4E100F61AE0; remoteInfo = KeymanEngine; }; CE4459CB23FBB8DA003151FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = F243887514BBD43000A3E055 /* Project object */; proxyType = 1; remoteGlobalIDString = F243887D14BBD43000A3E055; remoteInfo = KeymanEngineDemo; }; CE4459EA23FBBB79003151FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = F243887514BBD43000A3E055 /* Project object */; proxyType = 1; remoteGlobalIDString = C06D372A1F81F4E100F61AE0; remoteInfo = KeymanEngine; }; CE4459F823FBBCB3003151FD /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = F243887514BBD43000A3E055 /* Project object */; proxyType = 1; remoteGlobalIDString = CE4459D223FBBB34003151FD; remoteInfo = KeymanEngineTestHost; }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ 98F9D6A61954112F0087AA43 /* Embed App Extensions */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 13; files = ( 98F9D6A01954112F0087AA43 /* Tavultesoft.KMEI.SystemKeyboard.appex in Embed App Extensions */, ); name = "Embed App Extensions"; runOnlyForDeploymentPostprocessing = 0; }; 9A0FCA0322D7C48500D33F86 /* CopyFiles */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( 9A0FCA0822D7C53500D33F86 /* ObjcExceptionBridging.framework in CopyFiles */, 9A0FCA0722D7C50800D33F86 /* Zip.framework in CopyFiles */, 9A0FCA0622D7C4E100D33F86 /* XCGLogger.framework in CopyFiles */, 9A0FCA0522D7C49E00D33F86 /* Reachability.framework in CopyFiles */, 9A0FCA0422D7C49700D33F86 /* DeviceKit.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; C06D375F1F82089300F61AE0 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( C059FCB81FD924DC00BD1A64 /* Zip.framework in Embed Frameworks */, CE805CE82411FF9100BF0617 /* Sentry.framework in Embed Frameworks */, CE976D5023FA380700FFDF3A /* Reachability.framework in Embed Frameworks */, C07705DE1FD8ED9E00D2F3C7 /* ObjcExceptionBridging.framework in Embed Frameworks */, C06D375E1F82089200F61AE0 /* KeymanEngine.framework in Embed Frameworks */, CE2B1E4A21B60FB1007D092E /* DeviceKit.framework in Embed Frameworks */, C07705E01FD8ED9E00D2F3C7 /* XCGLogger.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; CE4459EC23FBBB79003151FD /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( CE4459F523FBBB8F003151FD /* XCGLogger.framework in Embed Frameworks */, CE805CEA2411FFAA00BF0617 /* Sentry.framework in Embed Frameworks */, CE4459E923FBBB79003151FD /* KeymanEngine.framework in Embed Frameworks */, CE4459EF23FBBB8F003151FD /* DeviceKit.framework in Embed Frameworks */, CE4459F123FBBB8F003151FD /* ObjcExceptionBridging.framework in Embed Frameworks */, CE4459F723FBBB8F003151FD /* Zip.framework in Embed Frameworks */, CE4459F323FBBB8F003151FD /* Reachability.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ 1645D5942036C6FF0076C51B /* KeymanPackage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeymanPackage.swift; sourceTree = ""; }; 1645D5962036C9F80076C51B /* KMPKeyboard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPKeyboard.swift; sourceTree = ""; }; 165C8B8B1FD8220600D4A78D /* Zip.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Zip.framework; path = ../../Carthage/Build/iOS/Zip.framework; sourceTree = ""; }; 165EB3A02098993900040A69 /* KeyboardError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardError.swift; sourceTree = ""; }; 1687ACCC1FD8DE5300926D69 /* XCGLogger.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCGLogger.framework; path = ../../Carthage/Build/iOS/XCGLogger.framework; sourceTree = ""; }; 1687ACCD1FD8DE5300926D69 /* ObjcExceptionBridging.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ObjcExceptionBridging.framework; path = ../../Carthage/Build/iOS/ObjcExceptionBridging.framework; sourceTree = ""; }; 6C0A140E151EA930007FA4AD /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; 6C0A140F151EA930007FA4AD /* Keyman.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; lineEnding = 0; path = Keyman.xcconfig; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.xcconfig; }; 6C0A1410151EA930007FA4AD /* Project.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; lineEnding = 0; path = Project.xcconfig; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.xcconfig; }; 6C0A1411151EA930007FA4AD /* Release.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; lineEnding = 0; path = Release.xcconfig; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.xcconfig; }; 6CD5DFA8150F6DC8007A5DDE /* icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon.png; sourceTree = ""; }; 6CD5DFA9150F6DC8007A5DDE /* icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon@2x.png"; sourceTree = ""; }; 984FA1F51974C0B30037EE5D /* Tavultesoft.KMEI.SystemKeyboard.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = Tavultesoft.KMEI.SystemKeyboard.entitlements; sourceTree = ""; }; 984FA1F61974C0EF0037EE5D /* KMEI.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = KMEI.entitlements; sourceTree = ""; }; 988B36B51ADF67290008752C /* inuktitut_pirurvik-1.0.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = "inuktitut_pirurvik-1.0.js"; path = "KeymanEngineDemo/Keyboards/inuktitut_pirurvik-1.0.js"; sourceTree = SOURCE_ROOT; }; 988B36B71ADF728A0008752C /* inuktitut_latin-1.0.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = "inuktitut_latin-1.0.js"; path = "KeymanEngineDemo/Keyboards/inuktitut_latin-1.0.js"; sourceTree = SOURCE_ROOT; }; 988B36B81ADF728A0008752C /* inuktitut_naqittaut-1.0.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; name = "inuktitut_naqittaut-1.0.js"; path = "KeymanEngineDemo/Keyboards/inuktitut_naqittaut-1.0.js"; sourceTree = SOURCE_ROOT; }; 98D4190B17695E58008D2FF3 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; 98F9D6971954112F0087AA43 /* Tavultesoft.KMEI.SystemKeyboard.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = Tavultesoft.KMEI.SystemKeyboard.appex; sourceTree = BUILT_PRODUCTS_DIR; }; 98F9D69A1954112F0087AA43 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 9A079DC9222E050E00581263 /* LexicalModelKeymanPackage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LexicalModelKeymanPackage.swift; sourceTree = ""; }; 9A079DCF223194B100581263 /* KeymanEngineTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = KeymanEngineTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 9A079DD1223194B100581263 /* FileManagementTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileManagementTests.swift; sourceTree = ""; }; 9A079DD3223194B100581263 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 9A079DE52231A69D00581263 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 9A079E362238680700581263 /* KMPLexicalModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPLexicalModel.swift; sourceTree = ""; }; 9A079E39223AFF3C00581263 /* KeyboardKeymanPackage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardKeymanPackage.swift; sourceTree = ""; }; 9A079E3C223B5FAF00581263 /* InstallableLexicalModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstallableLexicalModel.swift; sourceTree = ""; }; 9A079E3F223B602B00581263 /* LexicalModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LexicalModel.swift; sourceTree = ""; }; 9A079E42223B61AE00581263 /* FullLexicalModelID.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FullLexicalModelID.swift; sourceTree = ""; }; 9A082558227589360051EBB0 /* Formatter+ISODateExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Formatter+ISODateExtension.swift"; sourceTree = ""; }; 9A0FC9FC22D66D9E00D33F86 /* Reachability.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Reachability.framework; path = ../../Carthage/Build/iOS/Reachability.framework; sourceTree = ""; }; 9A3B14D1229370B20052A11F /* InstalledLanguagesViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = InstalledLanguagesViewController.swift; path = Settings/InstalledLanguagesViewController.swift; sourceTree = ""; }; 9A3E832422EAC14A00D22D2A /* KeyboardSwitcherViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardSwitcherViewController.swift; sourceTree = ""; }; 9A4609962241B39B00B0BFD1 /* LexicalModelInfoViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LexicalModelInfoViewController.swift; sourceTree = ""; }; 9A4609982242047400B0BFD1 /* LexicalModelAPICall.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LexicalModelAPICall.swift; sourceTree = ""; }; 9A60763C22892485003BCFBA /* Settings.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Settings.storyboard; path = Settings/Settings.storyboard; sourceTree = ""; }; 9A60764322893A4E003BCFBA /* SettingsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = SettingsViewController.swift; path = Settings/SettingsViewController.swift; sourceTree = ""; }; 9A9CB07F22416E5400231FB9 /* LexicalModelPickerViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LexicalModelPickerViewController.swift; sourceTree = ""; }; 9A9CB0812241704800231FB9 /* APILexicalModelRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APILexicalModelRepository.swift; sourceTree = ""; }; 9A9CB083224170F700231FB9 /* LexicalModelRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LexicalModelRepository.swift; sourceTree = ""; }; 9A9CB0852241717C00231FB9 /* LexicalModelRepositoryDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LexicalModelRepositoryDelegate.swift; sourceTree = ""; }; 9AD4F53A229F85AC007992D3 /* LanguageSettingsViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = LanguageSettingsViewController.swift; path = Settings/LanguageSettingsViewController.swift; sourceTree = ""; }; 9AD4F53B229F85AC007992D3 /* LanguageSettingsViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = LanguageSettingsViewController.xib; path = Settings/LanguageSettingsViewController.xib; sourceTree = ""; }; 9ADC459B22E1895D004C78C6 /* LanguageLMDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LanguageLMDetailViewController.swift; sourceTree = ""; }; 9ADC459C22E1895D004C78C6 /* LanguageLMDetailViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LanguageLMDetailViewController.xib; sourceTree = ""; }; C007C4641F9F52D8006461B9 /* LanguagesAPICall.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LanguagesAPICall.swift; sourceTree = ""; }; C024C9931FA6EB470060583B /* NotificationName.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationName.swift; sourceTree = ""; }; C024C9951FA6EC650060583B /* NotificationCenter+Typed.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NotificationCenter+Typed.swift"; sourceTree = ""; }; C024C9971FA6F2330060583B /* NotificationObserver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationObserver.swift; sourceTree = ""; }; C0324B8C1F87480700AF3785 /* TextFieldDelegateProxy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextFieldDelegateProxy.swift; sourceTree = ""; }; C0324B8E1F8750B700AF3785 /* TextView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextView.swift; sourceTree = ""; }; C0324B901F8763E100AF3785 /* TextViewDelegateProxy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextViewDelegateProxy.swift; sourceTree = ""; }; C0324B921F87689B00AF3785 /* KeymanURLProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeymanURLProtocol.swift; sourceTree = ""; }; C034BBBD1F7CCE7D00021FF5 /* KeyboardMenuView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardMenuView.swift; sourceTree = ""; }; C040E50D1F85FF8A00901EE4 /* KeyPreviewView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyPreviewView.swift; sourceTree = ""; }; C040E50F1F8606E300901EE4 /* TextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = ""; }; C040E5111F86107E00901EE4 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; C040E5131F86108900901EE4 /* MainViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = ""; }; C042ED5C1FC6A65A001D82F4 /* Version.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Version.swift; sourceTree = ""; }; C04514861F85D7F500D88416 /* SystemKeyboard-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "SystemKeyboard-Bridging-Header.h"; sourceTree = ""; }; C04514871F85D7F500D88416 /* KeyboardViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardViewController.swift; sourceTree = ""; }; C04514891F85DF9000D88416 /* InputViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = InputViewController.swift; sourceTree = ""; }; C0452BAA1F9F1FE10064431A /* Language.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Language.swift; sourceTree = ""; }; C0452BAC1F9F21270064431A /* Keyboard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = ""; }; C0452BAE1F9F22A80064431A /* Font.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Font.swift; sourceTree = ""; }; C04C2A6C1F6B7D9A00BA42B6 /* LanguageViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LanguageViewController.swift; sourceTree = ""; }; C055E6EA1F99ED090035C2DD /* RegisteredFont.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RegisteredFont.swift; sourceTree = ""; }; C05B14321FD914870082A316 /* Log.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Log.swift; sourceTree = ""; }; C05F43301FBD62550058CBD4 /* JSONDecoder.DateDecodingStrategy+ISO8601Fallback.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "JSONDecoder.DateDecodingStrategy+ISO8601Fallback.swift"; sourceTree = ""; }; C06085B31F9485E40057E5B9 /* UIButton+Helpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIButton+Helpers.swift"; sourceTree = ""; }; C06D372B1F81F4E100F61AE0 /* KeymanEngine.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = KeymanEngine.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C06D372D1F81F4E100F61AE0 /* KeymanEngine.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KeymanEngine.h; sourceTree = ""; }; C06D372E1F81F4E100F61AE0 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; C075EB051F8EFF870041F4BD /* String+Helpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Helpers.swift"; sourceTree = ""; }; C07A9D891FD1762700828ADD /* KeyboardRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardRepository.swift; sourceTree = ""; }; C07A9D8B1FD176AB00828ADD /* KeyboardRepositoryDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardRepositoryDelegate.swift; sourceTree = ""; }; C07A9D8D1FD1798900828ADD /* APIKeyboardRepository.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = APIKeyboardRepository.swift; sourceTree = ""; }; C07B42AE1F7CEE2700ECA97F /* SubKeysView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SubKeysView.swift; sourceTree = ""; }; C082CE141F90AFD400860F02 /* Collection+SafeAccess.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Collection+SafeAccess.swift"; sourceTree = ""; }; C08C620B1F6792A200268D03 /* KeyboardPickerBarButtonItem.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyboardPickerBarButtonItem.swift; sourceTree = ""; }; C08C620F1F67BD4500268D03 /* KeyboardPickerButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyboardPickerButton.swift; sourceTree = ""; }; C08C62121F67C31100268D03 /* KeyboardNameTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeyboardNameTableViewCell.swift; sourceTree = ""; }; C08E698C1FDA392D0026056B /* Migrations.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Migrations.swift; sourceTree = ""; }; C08E69901FDA6F6F0026056B /* FullKeyboardID.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FullKeyboardID.swift; sourceTree = ""; }; C092D8381F6A70C8005C5485 /* LanguageDetailViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LanguageDetailViewController.swift; sourceTree = ""; }; C0959CD31F99C44E00B616BC /* Constants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; C0A5FF361F6682EB00BE740C /* PopoverView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PopoverView.swift; sourceTree = ""; }; C0A93A531F8B21240079948B /* Manager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Manager.swift; sourceTree = ""; }; C0B09EAD1FCFD10F002F39AF /* FontManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FontManager.swift; sourceTree = ""; }; C0B901A91FA1AFC200764EB8 /* UserDefaults+Types.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UserDefaults+Types.swift"; sourceTree = ""; }; C0C16A881FA8146300F090BA /* KeymanWebViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeymanWebViewController.swift; sourceTree = ""; }; C0CB633B1FA6F61500617CDB /* Notifications.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Notifications.swift; sourceTree = ""; }; C0D3F35D1F9F33490055C7CF /* Options.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Options.swift; sourceTree = ""; }; C0D3F35F1F9F3AD80055C7CF /* InstallableKeyboard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InstallableKeyboard.swift; sourceTree = ""; }; C0E30C8B1FC40D0400C80416 /* Storage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Storage.swift; sourceTree = ""; }; C0ED71B21F6BB0B1002A2FD6 /* HTTPDownloadRequest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HTTPDownloadRequest.swift; sourceTree = ""; }; C0ED71B41F6BBFAF002A2FD6 /* HTTPDownloader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HTTPDownloader.swift; sourceTree = ""; }; C0EF3E7A1F95B65300CE9BD4 /* KeymanWebDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeymanWebDelegate.swift; sourceTree = ""; }; CE02EE0B24A5863100D58F92 /* Queries.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Queries.bundle; sourceTree = ""; }; CE02EE0D24A5869500D58F92 /* Queries.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Queries.swift; sourceTree = ""; }; CE02EE0F24A5892200D58F92 /* URLSessionDataTaskMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLSessionDataTaskMock.swift; sourceTree = ""; }; CE07E3D1247E3FB100DFA9D2 /* HTTPDownloaderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HTTPDownloaderTests.swift; sourceTree = ""; }; CE07E3D5247E41DB00DFA9D2 /* URLSessionMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLSessionMock.swift; sourceTree = ""; }; CE07E3D7247E43CB00DFA9D2 /* URLSessionDownloadTaskMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLSessionDownloadTaskMock.swift; sourceTree = ""; }; CE17ABDD23069E76005FBB14 /* LanguageResource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LanguageResource.swift; sourceTree = ""; }; CE1E1EC02303C8CC001C7BE0 /* ResourceDownloadStatusToolbar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResourceDownloadStatusToolbar.swift; sourceTree = ""; }; CE1F67A22304EB3800FF6972 /* ResourceDownloadManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResourceDownloadManager.swift; sourceTree = ""; }; CE22DFB9230B94DB00A4551C /* ResourceDownloadQueue.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResourceDownloadQueue.swift; sourceTree = ""; }; CE24ECEF21B763740052D291 /* KeymanResponder+Types.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "KeymanResponder+Types.swift"; sourceTree = ""; }; CE2B1E4521B60E7C007D092E /* DeviceKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DeviceKit.framework; path = ../../Carthage/Build/iOS/DeviceKit.framework; sourceTree = ""; }; CE37C38A23FCC9EE007031C6 /* Keyboards.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Keyboards.bundle; sourceTree = ""; }; CE37C38C23FCD41E007031C6 /* Keyboards.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Keyboards.swift; sourceTree = ""; }; CE37C38E23FCD52F007031C6 /* Lexical Models.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = "Lexical Models.bundle"; sourceTree = ""; }; CE37C39023FCD617007031C6 /* LexicalModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LexicalModels.swift; sourceTree = ""; }; CE4459CD23FBBA8D003151FD /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; CE4459D323FBBB34003151FD /* KeymanEngineTestHost.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = KeymanEngineTestHost.app; sourceTree = BUILT_PRODUCTS_DIR; }; CE4459ED23FBBB7F003151FD /* Carthage */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Carthage; path = ../../Carthage; sourceTree = ""; }; CE67D960228A6F190029F2B5 /* KeyboardCommandStructs.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardCommandStructs.swift; sourceTree = ""; }; CE71705723A9C14D00A924A1 /* ResourceFileManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResourceFileManager.swift; sourceTree = ""; }; CE71705E23A9C97F00A924A1 /* PackageInstallViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PackageInstallViewController.swift; sourceTree = ""; }; CE754A0123D151B90030CB79 /* ResourceInfoView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ResourceInfoView.xib; sourceTree = ""; }; CE754A0323D162E90030CB79 /* ResourceInfoViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResourceInfoViewController.swift; sourceTree = ""; }; CE79B24823C711FF007E72AE /* KeyboardScaleMap.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardScaleMap.swift; sourceTree = ""; }; CE7A26D023CEE5790005955C /* Keyboard Colors.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Keyboard Colors.xcassets"; sourceTree = ""; }; CE7A26D723CEEC630005955C /* Colors+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Colors+Extension.swift"; sourceTree = ""; }; CE7A26DA23CEEF640005955C /* Colors.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Colors.swift; sourceTree = ""; }; CE7ADD6523DE89FC00BC9A00 /* Alerts.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Alerts.swift; sourceTree = ""; }; CE867FEE2485E97A00B2EAED /* KMPMetadata.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPMetadata.swift; sourceTree = ""; }; CE867FF02485EE1500B2EAED /* KMPInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPInfo.swift; sourceTree = ""; }; CE88042E247F4B97009BCA1A /* ExpectationDownloaderDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExpectationDownloaderDelegate.swift; sourceTree = ""; }; CE88143924A9B7F4002809C3 /* ResourceDownloadQueueTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResourceDownloadQueueTests.swift; sourceTree = ""; }; CE89641E24A4686000D5EB8E /* Queries.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Queries.swift; sourceTree = ""; }; CE89642024A468B200D5EB8E /* Queries+PackageVersion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Queries+PackageVersion.swift"; sourceTree = ""; }; CE89642424A46D0000D5EB8E /* QueryPackageVersionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QueryPackageVersionTests.swift; sourceTree = ""; }; CE8B0BBC248734240045EB2E /* KeymanPackageTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeymanPackageTests.swift; sourceTree = ""; }; CE8B0BBE248764ED0045EB2E /* KMPResource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPResource.swift; sourceTree = ""; }; CE8B5BB12491DA530075CCB0 /* 13.0 Cloud to Package Migration.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = "13.0 Cloud to Package Migration.bundle"; sourceTree = ""; }; CE8EDEB223F53F96009E1FF6 /* VersionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VersionTests.swift; sourceTree = ""; }; CE973D802484A56500F66045 /* PackageJSON.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PackageJSON.swift; sourceTree = ""; }; CE973D822484A5DB00F66045 /* PackageJSON.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = PackageJSON.bundle; sourceTree = ""; }; CE973D842484A71700F66045 /* KMPJSONTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPJSONTests.swift; sourceTree = ""; }; CE973D862484BBC200F66045 /* KMPLanguage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPLanguage.swift; sourceTree = ""; }; CE973D882484DBA600F66045 /* KMPSystem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPSystem.swift; sourceTree = ""; }; CE973D8A2484DCA300F66045 /* KMPOptions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPOptions.swift; sourceTree = ""; }; CE973D8C2484DD1900F66045 /* KMPFile.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPFile.swift; sourceTree = ""; }; CE9B440B23FE49F000499CAB /* Migrations.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Migrations.swift; sourceTree = ""; }; CE9B440D23FE4E7400499CAB /* 12.0 Ad-hoc Migration.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = "12.0 Ad-hoc Migration.bundle"; sourceTree = ""; }; CE9B440E23FE4E7500499CAB /* Simple 12.0 Migration.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = "Simple 12.0 Migration.bundle"; sourceTree = ""; }; CE9CD87F23FCC1CA002BF2F8 /* TestUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestUtils.swift; sourceTree = ""; }; CE9CD88223FCC4E3002BF2F8 /* UserDefaults.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserDefaults.swift; sourceTree = ""; }; CEA6BA9C249872E7002D44CE /* Simple 13.0 Migration.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = "Simple 13.0 Migration.bundle"; sourceTree = ""; }; CEC0C66B2410AC9A003E1BCD /* Sentry.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sentry.framework; path = ../../Carthage/Build/iOS/Sentry.framework; sourceTree = ""; }; CEC0C6762410E049003E1BCD /* SentryManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryManager.swift; sourceTree = ""; }; CECB38931F2199BC0098882F /* Reachability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Reachability.h; path = KeymanEngine/lib/Reachability/Reachability.h; sourceTree = SOURCE_ROOT; }; CECB38941F2199BC0098882F /* Reachability.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Reachability.m; path = KeymanEngine/lib/Reachability/Reachability.m; sourceTree = SOURCE_ROOT; }; CED8B63124A9C2400054E300 /* ResourceDownloadManagerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResourceDownloadManagerTests.swift; sourceTree = ""; }; CEDFEF8E23FE43B700BECF39 /* MigrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MigrationTests.swift; sourceTree = ""; }; CEF888D023FE6ADE00667693 /* No-defaults 10.0 Migration.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = "No-defaults 10.0 Migration.bundle"; sourceTree = ""; }; CEF888D123FE6ADF00667693 /* Simple 10.0 Migration.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = "Simple 10.0 Migration.bundle"; sourceTree = ""; }; CEF888D423FE786C00667693 /* KeyboardScaleTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardScaleTests.swift; sourceTree = ""; }; F243887E14BBD43000A3E055 /* KeymanEngineDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = KeymanEngineDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; F243889014BBD43100A3E055 /* KeymanEngine-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "KeymanEngine-Prefix.pch"; sourceTree = ""; }; F27FCAEE157FD59100FBBA20 /* Keyman-iphoneos.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Keyman-iphoneos.xcconfig"; sourceTree = ""; }; F27FCAEF157FD59100FBBA20 /* Keyman-iphonesimulator.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Keyman-iphonesimulator.xcconfig"; sourceTree = ""; }; F27FCAF6157FD95E00FBBA20 /* Keyman-lib.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; lineEnding = 0; path = "Keyman-lib.xcconfig"; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.xcconfig; }; F27FCB51157FE3CE00FBBA20 /* Keyman.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Keyman.bundle; sourceTree = ""; }; F27FCB65157FF34800FBBA20 /* INSTRUCTIONS */ = {isa = PBXFileReference; lastKnownFileType = text; path = INSTRUCTIONS; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ 98F9D6941954112F0087AA43 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( C06D375A1F82075A00F61AE0 /* KeymanEngine.framework in Frameworks */, C059FCBC1FD9266C00BD1A64 /* ObjcExceptionBridging.framework in Frameworks */, C059FCBD1FD9266C00BD1A64 /* XCGLogger.framework in Frameworks */, CE2B1E4721B60E89007D092E /* DeviceKit.framework in Frameworks */, C059FCBE1FD9266C00BD1A64 /* Zip.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; 9A079DCC223194B100581263 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 9A079DE62231A69D00581263 /* Foundation.framework in Frameworks */, 9A079DD4223194B100581263 /* KeymanEngine.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; C06D37271F81F4E100F61AE0 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( CE808A532366980A00713E6B /* Zip.framework in Frameworks */, CEC0C66C2410AC9A003E1BCD /* Sentry.framework in Frameworks */, CE808A4F236697D800713E6B /* XCGLogger.framework in Frameworks */, CE808A48236697BE00713E6B /* DeviceKit.framework in Frameworks */, CE808A4D236697D500713E6B /* Reachability.framework in Frameworks */, CE808A4B236697D400713E6B /* ObjcExceptionBridging.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; CE4459D023FBBB34003151FD /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( CE4459F423FBBB8F003151FD /* XCGLogger.framework in Frameworks */, CE805CE92411FFAA00BF0617 /* Sentry.framework in Frameworks */, CE4459E823FBBB79003151FD /* KeymanEngine.framework in Frameworks */, CE4459EE23FBBB8F003151FD /* DeviceKit.framework in Frameworks */, CE4459F023FBBB8F003151FD /* ObjcExceptionBridging.framework in Frameworks */, CE4459F623FBBB8F003151FD /* Zip.framework in Frameworks */, CE4459F223FBBB8F003151FD /* Reachability.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; F243887B14BBD43000A3E055 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( C06D37571F82060900F61AE0 /* KeymanEngine.framework in Frameworks */, CE805CE72411FF9100BF0617 /* Sentry.framework in Frameworks */, CE976D4F23FA380700FFDF3A /* Reachability.framework in Frameworks */, C07705DD1FD8ED9E00D2F3C7 /* ObjcExceptionBridging.framework in Frameworks */, C07705DF1FD8ED9E00D2F3C7 /* XCGLogger.framework in Frameworks */, CE2B1E4821B60E8A007D092E /* DeviceKit.framework in Frameworks */, C059FCB71FD924DC00BD1A64 /* Zip.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ 165EB39F2098992D00040A69 /* Errors */ = { isa = PBXGroup; children = ( 165EB3A02098993900040A69 /* KeyboardError.swift */, CEC0C6762410E049003E1BCD /* SentryManager.swift */, ); path = Errors; sourceTree = ""; }; 6C0A13F9151EA151007FA4AD /* Resources */ = { isa = PBXGroup; children = ( 98D4190B17695E58008D2FF3 /* Default-568h@2x.png */, 6CD5DFA8150F6DC8007A5DDE /* icon.png */, 6CD5DFA9150F6DC8007A5DDE /* icon@2x.png */, ); path = Resources; sourceTree = ""; }; 6C0A13FA151EA16F007FA4AD /* resources */ = { isa = PBXGroup; children = ( F27FCB51157FE3CE00FBBA20 /* Keyman.bundle */, ); path = resources; sourceTree = ""; }; 6C0A13FE151EA3CF007FA4AD /* Config */ = { isa = PBXGroup; children = ( 6C0A1410151EA930007FA4AD /* Project.xcconfig */, 6C0A140E151EA930007FA4AD /* Debug.xcconfig */, 6C0A1411151EA930007FA4AD /* Release.xcconfig */, 6C0A140F151EA930007FA4AD /* Keyman.xcconfig */, F27FCAEE157FD59100FBBA20 /* Keyman-iphoneos.xcconfig */, F27FCAEF157FD59100FBBA20 /* Keyman-iphonesimulator.xcconfig */, F27FCAF6157FD95E00FBBA20 /* Keyman-lib.xcconfig */, ); path = Config; sourceTree = ""; }; 980CC8E119D51EF00089BB57 /* URLProtocol */ = { isa = PBXGroup; children = ( C0324B921F87689B00AF3785 /* KeymanURLProtocol.swift */, ); name = URLProtocol; sourceTree = ""; }; 98196DE4187BB0D200F001C3 /* KeymanEngineDemo */ = { isa = PBXGroup; children = ( C040E5111F86107E00901EE4 /* AppDelegate.swift */, C040E5131F86108900901EE4 /* MainViewController.swift */, 6C0A13F9151EA151007FA4AD /* Resources */, 988B36B41ADF67180008752C /* Keyboards */, ); path = KeymanEngineDemo; sourceTree = ""; }; 98411308199D9ACD005BD609 /* SubKeysView */ = { isa = PBXGroup; children = ( C07B42AE1F7CEE2700ECA97F /* SubKeysView.swift */, ); name = SubKeysView; sourceTree = ""; }; 987F00041AB8FCB700998116 /* KeyboardMenuView */ = { isa = PBXGroup; children = ( C034BBBD1F7CCE7D00021FF5 /* KeyboardMenuView.swift */, ); name = KeyboardMenuView; sourceTree = ""; }; 988B36B41ADF67180008752C /* Keyboards */ = { isa = PBXGroup; children = ( 988B36B71ADF728A0008752C /* inuktitut_latin-1.0.js */, 988B36B81ADF728A0008752C /* inuktitut_naqittaut-1.0.js */, 988B36B51ADF67290008752C /* inuktitut_pirurvik-1.0.js */, ); path = Keyboards; sourceTree = ""; }; 989FDF8C193C1B0C00EECAF9 /* KeyPreviewView */ = { isa = PBXGroup; children = ( C040E50D1F85FF8A00901EE4 /* KeyPreviewView.swift */, ); name = KeyPreviewView; sourceTree = ""; }; 98A880EF177BF82600601A9E /* PopoverView */ = { isa = PBXGroup; children = ( C0A5FF361F6682EB00BE740C /* PopoverView.swift */, ); name = PopoverView; sourceTree = ""; }; 98C0B11817A22DB5007ECAFC /* PickerButtons */ = { isa = PBXGroup; children = ( C08C620F1F67BD4500268D03 /* KeyboardPickerButton.swift */, C08C620B1F6792A200268D03 /* KeyboardPickerBarButtonItem.swift */, ); name = PickerButtons; sourceTree = ""; }; 98C0B11C17A2302E007ECAFC /* TableViewCells */ = { isa = PBXGroup; children = ( C08C62121F67C31100268D03 /* KeyboardNameTableViewCell.swift */, ); name = TableViewCells; sourceTree = ""; }; 98F9D6981954112F0087AA43 /* SystemKeyboard */ = { isa = PBXGroup; children = ( 984FA1F51974C0B30037EE5D /* Tavultesoft.KMEI.SystemKeyboard.entitlements */, C04514871F85D7F500D88416 /* KeyboardViewController.swift */, C04514861F85D7F500D88416 /* SystemKeyboard-Bridging-Header.h */, 98F9D6991954112F0087AA43 /* Supporting Files */, ); path = SystemKeyboard; sourceTree = ""; }; 98F9D6991954112F0087AA43 /* Supporting Files */ = { isa = PBXGroup; children = ( 98F9D69A1954112F0087AA43 /* Info.plist */, ); name = "Supporting Files"; sourceTree = ""; }; 98F9D6ED19545A620087AA43 /* InputViewController */ = { isa = PBXGroup; children = ( C04514891F85DF9000D88416 /* InputViewController.swift */, ); name = InputViewController; sourceTree = ""; }; 9A079DD0223194B100581263 /* KeymanEngineTests */ = { isa = PBXGroup; children = ( CE9CD88123FCC4C7002BF2F8 /* TestUtils */, CE37C38923FCC9AF007031C6 /* resources */, 9A079DD1223194B100581263 /* FileManagementTests.swift */, CE8B0BBC248734240045EB2E /* KeymanPackageTests.swift */, CE07E3D1247E3FB100DFA9D2 /* HTTPDownloaderTests.swift */, 9A079DD3223194B100581263 /* Info.plist */, CE8EDEB223F53F96009E1FF6 /* VersionTests.swift */, CE4459CD23FBBA8D003151FD /* AppDelegate.swift */, CEF888D423FE786C00667693 /* KeyboardScaleTests.swift */, CEDFEF8E23FE43B700BECF39 /* MigrationTests.swift */, CE973D842484A71700F66045 /* KMPJSONTests.swift */, CE89642424A46D0000D5EB8E /* QueryPackageVersionTests.swift */, CED8B63124A9C2400054E300 /* ResourceDownloadManagerTests.swift */, CE88143924A9B7F4002809C3 /* ResourceDownloadQueueTests.swift */, ); path = KeymanEngineTests; sourceTree = ""; }; 9A60763E22892495003BCFBA /* Settings */ = { isa = PBXGroup; children = ( 9A60763C22892485003BCFBA /* Settings.storyboard */, 9A60764322893A4E003BCFBA /* SettingsViewController.swift */, 9A3B14D1229370B20052A11F /* InstalledLanguagesViewController.swift */, 9AD4F53A229F85AC007992D3 /* LanguageSettingsViewController.swift */, 9AD4F53B229F85AC007992D3 /* LanguageSettingsViewController.xib */, CE1E1EC02303C8CC001C7BE0 /* ResourceDownloadStatusToolbar.swift */, ); name = Settings; sourceTree = ""; }; C024C9921FA6EB340060583B /* Notification */ = { isa = PBXGroup; children = ( C024C9951FA6EC650060583B /* NotificationCenter+Typed.swift */, C024C9931FA6EB470060583B /* NotificationName.swift */, C024C9971FA6F2330060583B /* NotificationObserver.swift */, C0CB633B1FA6F61500617CDB /* Notifications.swift */, ); path = Notification; sourceTree = ""; }; C0452BA91F9F1CAF0064431A /* Model */ = { isa = PBXGroup; children = ( C0452BAA1F9F1FE10064431A /* Language.swift */, CE17ABDD23069E76005FBB14 /* LanguageResource.swift */, C0452BAC1F9F21270064431A /* Keyboard.swift */, 9A079E3F223B602B00581263 /* LexicalModel.swift */, C0452BAE1F9F22A80064431A /* Font.swift */, C0D3F35D1F9F33490055C7CF /* Options.swift */, C0D3F35F1F9F3AD80055C7CF /* InstallableKeyboard.swift */, 9A079E3C223B5FAF00581263 /* InstallableLexicalModel.swift */, C055E6EA1F99ED090035C2DD /* RegisteredFont.swift */, C007C4641F9F52D8006461B9 /* LanguagesAPICall.swift */, 9A4609982242047400B0BFD1 /* LexicalModelAPICall.swift */, C042ED5C1FC6A65A001D82F4 /* Version.swift */, C08E69901FDA6F6F0026056B /* FullKeyboardID.swift */, 9A079E42223B61AE00581263 /* FullLexicalModelID.swift */, ); path = Model; sourceTree = ""; }; C055E6E81F99EA320035C2DD /* Extension */ = { isa = PBXGroup; children = ( C075EB051F8EFF870041F4BD /* String+Helpers.swift */, C082CE141F90AFD400860F02 /* Collection+SafeAccess.swift */, C06085B31F9485E40057E5B9 /* UIButton+Helpers.swift */, C0B901A91FA1AFC200764EB8 /* UserDefaults+Types.swift */, C05F43301FBD62550058CBD4 /* JSONDecoder.DateDecodingStrategy+ISO8601Fallback.swift */, 9A082558227589360051EBB0 /* Formatter+ISODateExtension.swift */, CE24ECEF21B763740052D291 /* KeymanResponder+Types.swift */, ); path = Extension; sourceTree = ""; }; C06D372C1F81F4E100F61AE0 /* KeymanEngine */ = { isa = PBXGroup; children = ( CE7A26D023CEE5790005955C /* Keyboard Colors.xcassets */, C06D372D1F81F4E100F61AE0 /* KeymanEngine.h */, C06D372E1F81F4E100F61AE0 /* Info.plist */, F2606FC4158F8B8600F37184 /* lib */, 6C0A13FA151EA16F007FA4AD /* resources */, F273AB9615641D9300A47CEE /* Classes */, ); path = KeymanEngine; sourceTree = ""; }; C07A9D881FD1760800828ADD /* KeyboardRepository */ = { isa = PBXGroup; children = ( C07A9D891FD1762700828ADD /* KeyboardRepository.swift */, 9A9CB083224170F700231FB9 /* LexicalModelRepository.swift */, C07A9D8B1FD176AB00828ADD /* KeyboardRepositoryDelegate.swift */, 9A9CB0852241717C00231FB9 /* LexicalModelRepositoryDelegate.swift */, C07A9D8D1FD1798900828ADD /* APIKeyboardRepository.swift */, 9A9CB0812241704800231FB9 /* APILexicalModelRepository.swift */, ); path = KeyboardRepository; sourceTree = ""; }; CE07E3D3247E418800DFA9D2 /* Downloading */ = { isa = PBXGroup; children = ( CE07E3D5247E41DB00DFA9D2 /* URLSessionMock.swift */, CE02EE0F24A5892200D58F92 /* URLSessionDataTaskMock.swift */, CE07E3D7247E43CB00DFA9D2 /* URLSessionDownloadTaskMock.swift */, CE88042E247F4B97009BCA1A /* ExpectationDownloaderDelegate.swift */, ); path = Downloading; sourceTree = ""; }; CE25CCBB1F1DA72A005AA2BC /* HTTPRequest */ = { isa = PBXGroup; children = ( C0ED71B41F6BBFAF002A2FD6 /* HTTPDownloader.swift */, C0ED71B21F6BB0B1002A2FD6 /* HTTPDownloadRequest.swift */, ); name = HTTPRequest; sourceTree = ""; }; CE37C38923FCC9AF007031C6 /* resources */ = { isa = PBXGroup; children = ( CE02EE0B24A5863100D58F92 /* Queries.bundle */, CEA6BA9C249872E7002D44CE /* Simple 13.0 Migration.bundle */, CE8B5BB12491DA530075CCB0 /* 13.0 Cloud to Package Migration.bundle */, CE973D822484A5DB00F66045 /* PackageJSON.bundle */, CEF888D023FE6ADE00667693 /* No-defaults 10.0 Migration.bundle */, CEF888D123FE6ADF00667693 /* Simple 10.0 Migration.bundle */, CE9B440D23FE4E7400499CAB /* 12.0 Ad-hoc Migration.bundle */, CE9B440E23FE4E7500499CAB /* Simple 12.0 Migration.bundle */, CE37C38A23FCC9EE007031C6 /* Keyboards.bundle */, CE37C38E23FCD52F007031C6 /* Lexical Models.bundle */, ); path = resources; sourceTree = ""; }; CE67D95F228A6ECF0029F2B5 /* KeymanWebView */ = { isa = PBXGroup; children = ( C0C16A881FA8146300F090BA /* KeymanWebViewController.swift */, CE67D960228A6F190029F2B5 /* KeyboardCommandStructs.swift */, ); name = KeymanWebView; sourceTree = ""; }; CE71705923A9C7D300A924A1 /* Resource Management */ = { isa = PBXGroup; children = ( CE1F67A22304EB3800FF6972 /* ResourceDownloadManager.swift */, CE22DFB9230B94DB00A4551C /* ResourceDownloadQueue.swift */, CE71705723A9C14D00A924A1 /* ResourceFileManager.swift */, CE71705E23A9C97F00A924A1 /* PackageInstallViewController.swift */, C0E30C8B1FC40D0400C80416 /* Storage.swift */, ); path = "Resource Management"; sourceTree = ""; }; CE867FF22485F38300B2EAED /* kmp.json */ = { isa = PBXGroup; children = ( 1645D5962036C9F80076C51B /* KMPKeyboard.swift */, CE867FF02485EE1500B2EAED /* KMPInfo.swift */, CE867FEE2485E97A00B2EAED /* KMPMetadata.swift */, CE973D862484BBC200F66045 /* KMPLanguage.swift */, 9A079E362238680700581263 /* KMPLexicalModel.swift */, CE973D882484DBA600F66045 /* KMPSystem.swift */, CE973D8A2484DCA300F66045 /* KMPOptions.swift */, CE973D8C2484DD1900F66045 /* KMPFile.swift */, CE8B0BBE248764ED0045EB2E /* KMPResource.swift */, ); path = kmp.json; sourceTree = ""; }; CE89641B24A4665700D5EB8E /* Queries */ = { isa = PBXGroup; children = ( CE89641E24A4686000D5EB8E /* Queries.swift */, CE89642024A468B200D5EB8E /* Queries+PackageVersion.swift */, ); path = Queries; sourceTree = ""; }; CE973D7F2484A07300F66045 /* KMP Packaging */ = { isa = PBXGroup; children = ( 1645D5942036C6FF0076C51B /* KeymanPackage.swift */, 9A079E39223AFF3C00581263 /* KeyboardKeymanPackage.swift */, 9A079DC9222E050E00581263 /* LexicalModelKeymanPackage.swift */, CE867FF22485F38300B2EAED /* kmp.json */, ); name = "KMP Packaging"; sourceTree = ""; }; CE9CD88123FCC4C7002BF2F8 /* TestUtils */ = { isa = PBXGroup; children = ( CE07E3D3247E418800DFA9D2 /* Downloading */, CE9CD87F23FCC1CA002BF2F8 /* TestUtils.swift */, CE9CD88223FCC4E3002BF2F8 /* UserDefaults.swift */, CE973D802484A56500F66045 /* PackageJSON.swift */, CE37C38C23FCD41E007031C6 /* Keyboards.swift */, CE02EE0D24A5869500D58F92 /* Queries.swift */, CE37C39023FCD617007031C6 /* LexicalModels.swift */, CE9B440B23FE49F000499CAB /* Migrations.swift */, ); path = TestUtils; sourceTree = ""; }; F243887314BBD43000A3E055 = { isa = PBXGroup; children = ( C06D372C1F81F4E100F61AE0 /* KeymanEngine */, 9A079DD0223194B100581263 /* KeymanEngineTests */, F243888114BBD43000A3E055 /* Frameworks */, 984FA1F61974C0EF0037EE5D /* KMEI.entitlements */, F243887F14BBD43000A3E055 /* Products */, F243888914BBD43100A3E055 /* Supporting Files */, 98F9D6981954112F0087AA43 /* SystemKeyboard */, 98196DE4187BB0D200F001C3 /* KeymanEngineDemo */, ); sourceTree = ""; }; F243887F14BBD43000A3E055 /* Products */ = { isa = PBXGroup; children = ( F243887E14BBD43000A3E055 /* KeymanEngineDemo.app */, 98F9D6971954112F0087AA43 /* Tavultesoft.KMEI.SystemKeyboard.appex */, C06D372B1F81F4E100F61AE0 /* KeymanEngine.framework */, 9A079DCF223194B100581263 /* KeymanEngineTests.xctest */, CE4459D323FBBB34003151FD /* KeymanEngineTestHost.app */, ); name = Products; sourceTree = ""; }; F243888114BBD43000A3E055 /* Frameworks */ = { isa = PBXGroup; children = ( CEC0C66B2410AC9A003E1BCD /* Sentry.framework */, CE4459ED23FBBB7F003151FD /* Carthage */, 9A0FC9FC22D66D9E00D33F86 /* Reachability.framework */, 9A079DE52231A69D00581263 /* Foundation.framework */, CE2B1E4521B60E7C007D092E /* DeviceKit.framework */, 1687ACCD1FD8DE5300926D69 /* ObjcExceptionBridging.framework */, 1687ACCC1FD8DE5300926D69 /* XCGLogger.framework */, 165C8B8B1FD8220600D4A78D /* Zip.framework */, ); name = Frameworks; sourceTree = ""; }; F243888914BBD43100A3E055 /* Supporting Files */ = { isa = PBXGroup; children = ( 6C0A13FE151EA3CF007FA4AD /* Config */, F243889014BBD43100A3E055 /* KeymanEngine-Prefix.pch */, F27FCB65157FF34800FBBA20 /* INSTRUCTIONS */, ); name = "Supporting Files"; path = KeymanEngine; sourceTree = ""; }; F2606FC4158F8B8600F37184 /* lib */ = { isa = PBXGroup; children = ( F26071F5158F8BE600F37184 /* Reachability */, ); path = lib; sourceTree = ""; }; F26071F5158F8BE600F37184 /* Reachability */ = { isa = PBXGroup; children = ( CECB38931F2199BC0098882F /* Reachability.h */, CECB38941F2199BC0098882F /* Reachability.m */, ); path = Reachability; sourceTree = ""; }; F2607212158FBCB500F37184 /* KeyboardPicker */ = { isa = PBXGroup; children = ( CE754A0323D162E90030CB79 /* ResourceInfoViewController.swift */, CE754A0123D151B90030CB79 /* ResourceInfoView.xib */, 9A4609962241B39B00B0BFD1 /* LexicalModelInfoViewController.swift */, 9A3E832422EAC14A00D22D2A /* KeyboardSwitcherViewController.swift */, 9A9CB07F22416E5400231FB9 /* LexicalModelPickerViewController.swift */, C092D8381F6A70C8005C5485 /* LanguageDetailViewController.swift */, 9ADC459B22E1895D004C78C6 /* LanguageLMDetailViewController.swift */, 9ADC459C22E1895D004C78C6 /* LanguageLMDetailViewController.xib */, C04C2A6C1F6B7D9A00BA42B6 /* LanguageViewController.swift */, 98C0B11817A22DB5007ECAFC /* PickerButtons */, 98C0B11C17A2302E007ECAFC /* TableViewCells */, ); name = KeyboardPicker; path = LanguagePicker; sourceTree = ""; }; F273AB9615641D9300A47CEE /* Classes */ = { isa = PBXGroup; children = ( CE973D7F2484A07300F66045 /* KMP Packaging */, CE71705923A9C7D300A924A1 /* Resource Management */, 165EB39F2098992D00040A69 /* Errors */, C055E6E81F99EA320035C2DD /* Extension */, C0452BA91F9F1CAF0064431A /* Model */, C024C9921FA6EB340060583B /* Notification */, C07A9D881FD1760800828ADD /* KeyboardRepository */, CE89641B24A4665700D5EB8E /* Queries */, 9A60763E22892495003BCFBA /* Settings */, CE25CCBB1F1DA72A005AA2BC /* HTTPRequest */, 987F00041AB8FCB700998116 /* KeyboardMenuView */, 980CC8E119D51EF00089BB57 /* URLProtocol */, 98411308199D9ACD005BD609 /* SubKeysView */, CE67D95F228A6ECF0029F2B5 /* KeymanWebView */, 98F9D6ED19545A620087AA43 /* InputViewController */, 989FDF8C193C1B0C00EECAF9 /* KeyPreviewView */, F2607212158FBCB500F37184 /* KeyboardPicker */, 98A880EF177BF82600601A9E /* PopoverView */, F273AB9E156440CD00A47CEE /* UITextField */, F273AB9D156440BA00A47CEE /* UITextView */, C0959CD31F99C44E00B616BC /* Constants.swift */, C0A93A531F8B21240079948B /* Manager.swift */, CE7A26D723CEEC630005955C /* Colors+Extension.swift */, CE7A26DA23CEEF640005955C /* Colors.swift */, C0B09EAD1FCFD10F002F39AF /* FontManager.swift */, C0EF3E7A1F95B65300CE9BD4 /* KeymanWebDelegate.swift */, C05B14321FD914870082A316 /* Log.swift */, C08E698C1FDA392D0026056B /* Migrations.swift */, CE79B24823C711FF007E72AE /* KeyboardScaleMap.swift */, CE7ADD6523DE89FC00BC9A00 /* Alerts.swift */, ); path = Classes; sourceTree = ""; }; F273AB9D156440BA00A47CEE /* UITextView */ = { isa = PBXGroup; children = ( C0324B8E1F8750B700AF3785 /* TextView.swift */, C0324B901F8763E100AF3785 /* TextViewDelegateProxy.swift */, ); name = UITextView; sourceTree = ""; }; F273AB9E156440CD00A47CEE /* UITextField */ = { isa = PBXGroup; children = ( C040E50F1F8606E300901EE4 /* TextField.swift */, C0324B8C1F87480700AF3785 /* TextFieldDelegateProxy.swift */, ); name = UITextField; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ C06D37281F81F4E100F61AE0 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( C06D372F1F81F4E100F61AE0 /* KeymanEngine.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ 98F9D6961954112F0087AA43 /* SystemKeyboard */ = { isa = PBXNativeTarget; buildConfigurationList = 98F9D6A31954112F0087AA43 /* Build configuration list for PBXNativeTarget "SystemKeyboard" */; buildPhases = ( 98F9D6931954112F0087AA43 /* Sources */, 98F9D6941954112F0087AA43 /* Frameworks */, 98F9D6951954112F0087AA43 /* Resources */, C0A5FF391F6684DE00BE740C /* ShellScript */, ); buildRules = ( ); dependencies = ( C06D375C1F82075D00F61AE0 /* PBXTargetDependency */, ); name = SystemKeyboard; productName = SystemKeyboard; productReference = 98F9D6971954112F0087AA43 /* Tavultesoft.KMEI.SystemKeyboard.appex */; productType = "com.apple.product-type.app-extension"; }; 9A079DCE223194B100581263 /* KeymanEngineTests */ = { isa = PBXNativeTarget; buildConfigurationList = 9A079DD9223194B100581263 /* Build configuration list for PBXNativeTarget "KeymanEngineTests" */; buildPhases = ( 9A079DCB223194B100581263 /* Sources */, 9A079DCC223194B100581263 /* Frameworks */, 9A079DCD223194B100581263 /* Resources */, 9A0FCA0322D7C48500D33F86 /* CopyFiles */, ); buildRules = ( ); dependencies = ( 9A079DD6223194B100581263 /* PBXTargetDependency */, CE4459CC23FBB8DA003151FD /* PBXTargetDependency */, CE4459F923FBBCB3003151FD /* PBXTargetDependency */, ); name = KeymanEngineTests; productName = KeymanEngineTests; productReference = 9A079DCF223194B100581263 /* KeymanEngineTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; C06D372A1F81F4E100F61AE0 /* KeymanEngine */ = { isa = PBXNativeTarget; buildConfigurationList = C06D37301F81F4E100F61AE0 /* Build configuration list for PBXNativeTarget "KeymanEngine" */; buildPhases = ( C06D37261F81F4E100F61AE0 /* Sources */, C06D37271F81F4E100F61AE0 /* Frameworks */, C06D37281F81F4E100F61AE0 /* Headers */, C06D37291F81F4E100F61AE0 /* Resources */, CEC0C66F2410B005003E1BCD /* ShellScript */, CE880430247F6EB6009BCA1A /* ShellScript */, ); buildRules = ( ); dependencies = ( ); name = KeymanEngine; productName = KeymanEngine; productReference = C06D372B1F81F4E100F61AE0 /* KeymanEngine.framework */; productType = "com.apple.product-type.framework"; }; CE4459D223FBBB34003151FD /* KeymanEngineTestHost */ = { isa = PBXNativeTarget; buildConfigurationList = CE4459E423FBBB36003151FD /* Build configuration list for PBXNativeTarget "KeymanEngineTestHost" */; buildPhases = ( CE4459CF23FBBB34003151FD /* Sources */, CE4459D023FBBB34003151FD /* Frameworks */, CE4459D123FBBB34003151FD /* Resources */, CE4459EC23FBBB79003151FD /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( CE4459EB23FBBB79003151FD /* PBXTargetDependency */, ); name = KeymanEngineTestHost; productName = KeymanEngineTestHost; productReference = CE4459D323FBBB34003151FD /* KeymanEngineTestHost.app */; productType = "com.apple.product-type.application"; }; F243887D14BBD43000A3E055 /* KeymanEngineDemo */ = { isa = PBXNativeTarget; buildConfigurationList = F24388A514BBD43100A3E055 /* Build configuration list for PBXNativeTarget "KeymanEngineDemo" */; buildPhases = ( F243887A14BBD43000A3E055 /* Sources */, F243887B14BBD43000A3E055 /* Frameworks */, F243887C14BBD43000A3E055 /* Resources */, 98F9D6A61954112F0087AA43 /* Embed App Extensions */, C0A5FF381F6684A300BE740C /* ShellScript */, C06D375F1F82089300F61AE0 /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( C06D37591F8206E400F61AE0 /* PBXTargetDependency */, 98F9D69F1954112F0087AA43 /* PBXTargetDependency */, 98F9D6A21954112F0087AA43 /* PBXTargetDependency */, ); name = KeymanEngineDemo; productName = Keyman; productReference = F243887E14BBD43000A3E055 /* KeymanEngineDemo.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ F243887514BBD43000A3E055 /* Project object */ = { isa = PBXProject; attributes = { DefaultBuildSystemTypeForWorkspace = Latest; LastSwiftUpdateCheck = 1120; LastUpgradeCheck = 1110; ORGANIZATIONNAME = "SIL International"; TargetAttributes = { 98F9D6961954112F0087AA43 = { CreatedOnToolsVersion = 6.0; DevelopmentTeam = 3YE4W86L3G; LastSwiftMigration = 0900; ProvisioningStyle = Automatic; SystemCapabilities = { com.apple.ApplicationGroups.iOS = { enabled = 1; }; }; }; 9A079DCE223194B100581263 = { CreatedOnToolsVersion = 10.1; DevelopmentTeam = 3YE4W86L3G; ProvisioningStyle = Automatic; TestTargetID = CE4459D223FBBB34003151FD; }; C06D372A1F81F4E100F61AE0 = { CreatedOnToolsVersion = 9.0; DevelopmentTeam = 3YE4W86L3G; ProvisioningStyle = Manual; }; CE4459D223FBBB34003151FD = { CreatedOnToolsVersion = 11.2.1; DevelopmentTeam = WHE552KZN5; ProvisioningStyle = Automatic; }; F243887D14BBD43000A3E055 = { DevelopmentTeam = 3YE4W86L3G; LastSwiftMigration = 0900; ProvisioningStyle = Automatic; SystemCapabilities = { com.apple.ApplicationGroups.iOS = { enabled = 1; }; }; }; }; }; buildConfigurationList = F243887814BBD43000A3E055 /* Build configuration list for PBXProject "KeymanEngine" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, Base, ); mainGroup = F243887314BBD43000A3E055; productRefGroup = F243887F14BBD43000A3E055 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( C06D372A1F81F4E100F61AE0 /* KeymanEngine */, C06D37C51F82364E00F61AE0 /* KME-universal */, F243887D14BBD43000A3E055 /* KeymanEngineDemo */, 98F9D6961954112F0087AA43 /* SystemKeyboard */, 9A079DCE223194B100581263 /* KeymanEngineTests */, CE4459D223FBBB34003151FD /* KeymanEngineTestHost */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ 98F9D6951954112F0087AA43 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; 9A079DCD223194B100581263 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( CE46D65D247B93C9005FD506 /* ResourceInfoView.xib in Resources */, 9AD4F53F22A8A286007992D3 /* LanguageSettingsViewController.xib in Resources */, CE37C38B23FCC9EE007031C6 /* Keyboards.bundle in Resources */, CE9B441023FE4E7500499CAB /* Simple 12.0 Migration.bundle in Resources */, 9ADC45A022E1895D004C78C6 /* LanguageLMDetailViewController.xib in Resources */, CE973D832484A5DC00F66045 /* PackageJSON.bundle in Resources */, CEF888D223FE6ADF00667693 /* No-defaults 10.0 Migration.bundle in Resources */, CE9B440F23FE4E7500499CAB /* 12.0 Ad-hoc Migration.bundle in Resources */, CE8B5BB22491DA540075CCB0 /* 13.0 Cloud to Package Migration.bundle in Resources */, 9A0FCA0922D7C58B00D33F86 /* Keyman.bundle in Resources */, CE02EE0C24A5863100D58F92 /* Queries.bundle in Resources */, CEA6BA9D249872E8002D44CE /* Simple 13.0 Migration.bundle in Resources */, CEF888D323FE6ADF00667693 /* Simple 10.0 Migration.bundle in Resources */, CE37C38F23FCD52F007031C6 /* Lexical Models.bundle in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; C06D37291F81F4E100F61AE0 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( C06D37601F82095200F61AE0 /* Keyman.bundle in Resources */, 9ADC459F22E1895D004C78C6 /* LanguageLMDetailViewController.xib in Resources */, CE754A0223D151B90030CB79 /* ResourceInfoView.xib in Resources */, 9AD4F53D229F85AC007992D3 /* LanguageSettingsViewController.xib in Resources */, CE7A26D123CEE5790005955C /* Keyboard Colors.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; CE4459D123FBBB34003151FD /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; F243887C14BBD43000A3E055 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 988B36BA1ADF728A0008752C /* inuktitut_naqittaut-1.0.js in Resources */, 6CD5DFAA150F6DC8007A5DDE /* icon.png in Resources */, 6CD5DFAB150F6DC8007A5DDE /* icon@2x.png in Resources */, 988B36B61ADF67290008752C /* inuktitut_pirurvik-1.0.js in Resources */, 98D4190C17695E58008D2FF3 /* Default-568h@2x.png in Resources */, CE7A26D423CEE71B0005955C /* Keyboard Colors.xcassets in Resources */, 988B36B91ADF728A0008752C /* inuktitut_latin-1.0.js in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ C06D37C61F82364E00F61AE0 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "NAME=\"KeymanEngine\"\nUNIVERSAL_DIR=\"${BUILD_DIR}/${CONFIGURATION}-universal/${NAME}.framework\"\nIPHONE_DIR=\"${BUILD_DIR}/${CONFIGURATION}-iphoneos/${NAME}.framework\"\nSIMULATOR_DIR=\"${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${NAME}.framework\"\n\n# Build architecture that was not built\nif [ ${PLATFORM_NAME} = \"iphonesimulator\" ]; then\n xcodebuild -scheme \"${NAME}\" ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR=\"${BUILD_DIR}\" BUILD_ROOT=\"${BUILD_ROOT}\" build VERSION=$VERSION VERSION_WITH_TAG=$VERSION_WITH_TAG VERSION_ENVIRONMENT=$VERSION_ENVIRONMENT UPLOAD_SENTRY=$UPLOAD_SENTRY\nelse\n xcodebuild -scheme \"${NAME}\" -configuration ${CONFIGURATION} -sdk iphonesimulator BUILD_DIR=\"${BUILD_DIR}\" BUILD_ROOT=\"${BUILD_ROOT}\" build VERSION=$VERSION VERSION_WITH_TAG=$VERSION_WITH_TAG VERSION_ENVIRONMENT=$VERSION_ENVIRONMENT UPLOAD_SENTRY=$UPLOAD_SENTRY\nfi\n\n# Clean\nrm -rf \"${UNIVERSAL_DIR}\"\nmkdir -p \"${UNIVERSAL_DIR}\"\n\n# Use iPhone framework as base\ncp -R \"${IPHONE_DIR}/\" \"${UNIVERSAL_DIR}/\"\n\n# Copy Swift modules from simulator build\ncp -R \"${SIMULATOR_DIR}/Modules/${NAME}.swiftmodule/\" \"${UNIVERSAL_DIR}/Modules/${NAME}.swiftmodule/\"\n\n# Create universal binary using lipo\nlipo -create \"${IPHONE_DIR}/${NAME}\" \"${SIMULATOR_DIR}/${NAME}\" -output \"${UNIVERSAL_DIR}/${NAME}\"\n"; }; C0A5FF381F6684A300BE740C /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "#if which swiftlint >/dev/null; then\n# swiftlint --config ../../.swiftlint.yml\n#else\n# echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\n#fi\n"; }; C0A5FF391F6684DE00BE740C /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "#if which swiftlint >/dev/null; then\n# swiftlint --config ../../.swiftlint.yml\n#else\n# echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\n#fi\n"; }; CE880430247F6EB6009BCA1A /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( ); outputFileListPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "# Type a script or drag a script file from your workspace to insert its path.\n. \"$KEYMAN_ROOT/resources/build/xcode-utils.sh\"\n\nphaseSetBundleVersions\n"; showEnvVarsInLog = 0; }; CEC0C66F2410B005003E1BCD /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( "${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}", ); outputFileListPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "# Type a script or drag a script file from your workspace to insert its path.\n. \"$KEYMAN_ROOT/resources/build/xcode-utils.sh\"\n\nif [ ${UPLOAD_SENTRY:-false} = true ]; then\n # Calls resource script to perform the dSYM upload\n phaseSentryDsymUpload \"keyman-ios\"\nfi\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ 98F9D6931954112F0087AA43 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( CE24ECF221B763740052D291 /* KeymanResponder+Types.swift in Sources */, C04514881F85D7F500D88416 /* KeyboardViewController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; 9A079DCB223194B100581263 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( CE07E3D2247E3FB100DFA9D2 /* HTTPDownloaderTests.swift in Sources */, CE9B440C23FE49F000499CAB /* Migrations.swift in Sources */, CE88042F247F4B97009BCA1A /* ExpectationDownloaderDelegate.swift in Sources */, CE07E3D8247E43CB00DFA9D2 /* URLSessionDownloadTaskMock.swift in Sources */, CE37C39123FCD617007031C6 /* LexicalModels.swift in Sources */, CE37C38D23FCD41E007031C6 /* Keyboards.swift in Sources */, CE9CD88323FCC4E3002BF2F8 /* UserDefaults.swift in Sources */, CE8B0BBD248734240045EB2E /* KeymanPackageTests.swift in Sources */, CE02EE0E24A5869500D58F92 /* Queries.swift in Sources */, CE973D852484A71700F66045 /* KMPJSONTests.swift in Sources */, CE02EE1024A5892200D58F92 /* URLSessionDataTaskMock.swift in Sources */, CE89642524A46D0000D5EB8E /* QueryPackageVersionTests.swift in Sources */, CEF888D523FE786C00667693 /* KeyboardScaleTests.swift in Sources */, CE07E3D6247E41DB00DFA9D2 /* URLSessionMock.swift in Sources */, CE8EDEB323F53F96009E1FF6 /* VersionTests.swift in Sources */, CEDFEF8F23FE43B700BECF39 /* MigrationTests.swift in Sources */, CED8B63224A9C2400054E300 /* ResourceDownloadManagerTests.swift in Sources */, CE9CD88023FCC1CA002BF2F8 /* TestUtils.swift in Sources */, CE973D812484A56500F66045 /* PackageJSON.swift in Sources */, CE88143A24A9B7F4002809C3 /* ResourceDownloadQueueTests.swift in Sources */, CE8EDEB123F53D1A009E1FF6 /* FileManagementTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; C06D37261F81F4E100F61AE0 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( C05B14331FD914870082A316 /* Log.swift in Sources */, 9A079E43223B61AE00581263 /* FullLexicalModelID.swift in Sources */, C06D37341F81F5C300F61AE0 /* HTTPDownloader.swift in Sources */, C0452BAF1F9F22A80064431A /* Font.swift in Sources */, CE973D892484DBA600F66045 /* KMPSystem.swift in Sources */, C0D3F3601F9F3AD80055C7CF /* InstallableKeyboard.swift in Sources */, CE7A26D923CEEC640005955C /* Colors+Extension.swift in Sources */, CE1E1EC12303C8CC001C7BE0 /* ResourceDownloadStatusToolbar.swift in Sources */, C042ED5D1FC6A65A001D82F4 /* Version.swift in Sources */, C0D3F35E1F9F33490055C7CF /* Options.swift in Sources */, C06D37351F81F5C300F61AE0 /* HTTPDownloadRequest.swift in Sources */, CE24ECF021B763740052D291 /* KeymanResponder+Types.swift in Sources */, C0324B8F1F8750B700AF3785 /* TextView.swift in Sources */, C08E698D1FDA392D0026056B /* Migrations.swift in Sources */, C07A9D8C1FD176AB00828ADD /* KeyboardRepositoryDelegate.swift in Sources */, CE17ABDE23069E76005FBB14 /* LanguageResource.swift in Sources */, C024C9961FA6EC650060583B /* NotificationCenter+Typed.swift in Sources */, C06D37361F81F5C300F61AE0 /* KeyboardMenuView.swift in Sources */, CE67D961228A6F190029F2B5 /* KeyboardCommandStructs.swift in Sources */, 9A4609972241B39B00B0BFD1 /* LexicalModelInfoViewController.swift in Sources */, CE8B0BBF248764ED0045EB2E /* KMPResource.swift in Sources */, 9AD4F53C229F85AC007992D3 /* LanguageSettingsViewController.swift in Sources */, CE7A26DB23CEEF640005955C /* Colors.swift in Sources */, 9A9CB08022416E5400231FB9 /* LexicalModelPickerViewController.swift in Sources */, 9A079E3D223B5FAF00581263 /* InstallableLexicalModel.swift in Sources */, C06D37381F81F5C400F61AE0 /* SubKeysView.swift in Sources */, C0A93A541F8B21240079948B /* Manager.swift in Sources */, C024C9981FA6F2340060583B /* NotificationObserver.swift in Sources */, 9ADC459D22E1895D004C78C6 /* LanguageLMDetailViewController.swift in Sources */, C0B901AA1FA1AFC200764EB8 /* UserDefaults+Types.swift in Sources */, CE1F67A32304EB3800FF6972 /* ResourceDownloadManager.swift in Sources */, 9A079E372238680700581263 /* KMPLexicalModel.swift in Sources */, CE89641F24A4686000D5EB8E /* Queries.swift in Sources */, 9A3E832522EAC14A00D22D2A /* KeyboardSwitcherViewController.swift in Sources */, C0324B911F8763E100AF3785 /* TextViewDelegateProxy.swift in Sources */, C0B09EAE1FCFD10F002F39AF /* FontManager.swift in Sources */, C040E50E1F85FF8A00901EE4 /* KeyPreviewView.swift in Sources */, CEC0C6772410E049003E1BCD /* SentryManager.swift in Sources */, 9A079E3A223AFF3C00581263 /* KeyboardKeymanPackage.swift in Sources */, C06D37401F81F5C400F61AE0 /* LanguageDetailViewController.swift in Sources */, 9A9CB0862241717C00231FB9 /* LexicalModelRepositoryDelegate.swift in Sources */, C0CB633C1FA6F61500617CDB /* Notifications.swift in Sources */, CE867FF12485EE1500B2EAED /* KMPInfo.swift in Sources */, C0EF3E7B1F95B65300CE9BD4 /* KeymanWebDelegate.swift in Sources */, C06D37411F81F5C400F61AE0 /* LanguageViewController.swift in Sources */, C06D37421F81F5C400F61AE0 /* KeyboardPickerButton.swift in Sources */, 165EB3A12098993900040A69 /* KeyboardError.swift in Sources */, CE7ADD6623DE89FC00BC9A00 /* Alerts.swift in Sources */, CE754A0423D162E90030CB79 /* ResourceInfoViewController.swift in Sources */, C055E6EB1F99ED090035C2DD /* RegisteredFont.swift in Sources */, 1645D5972036C9F80076C51B /* KMPKeyboard.swift in Sources */, C0324B931F87689B00AF3785 /* KeymanURLProtocol.swift in Sources */, C05F43311FBD62550058CBD4 /* JSONDecoder.DateDecodingStrategy+ISO8601Fallback.swift in Sources */, C0452BAB1F9F1FE10064431A /* Language.swift in Sources */, CE71705F23A9C97F00A924A1 /* PackageInstallViewController.swift in Sources */, C06D37431F81F5C400F61AE0 /* KeyboardPickerBarButtonItem.swift in Sources */, C082CE151F90AFD400860F02 /* Collection+SafeAccess.swift in Sources */, C06D37441F81F5C400F61AE0 /* KeyboardNameTableViewCell.swift in Sources */, 9A3B14D2229370B20052A11F /* InstalledLanguagesViewController.swift in Sources */, C07A9D8A1FD1762700828ADD /* KeyboardRepository.swift in Sources */, C08E69911FDA6F6F0026056B /* FullKeyboardID.swift in Sources */, 9A9CB0822241704800231FB9 /* APILexicalModelRepository.swift in Sources */, C040E5101F8606E300901EE4 /* TextField.swift in Sources */, CE71705823A9C14D00A924A1 /* ResourceFileManager.swift in Sources */, 9A082559227589360051EBB0 /* Formatter+ISODateExtension.swift in Sources */, CE867FEF2485E97A00B2EAED /* KMPMetadata.swift in Sources */, C0324B8D1F87480700AF3785 /* TextFieldDelegateProxy.swift in Sources */, CE973D8B2484DCA300F66045 /* KMPOptions.swift in Sources */, C075EB061F8EFF870041F4BD /* String+Helpers.swift in Sources */, 1645D5952036C6FF0076C51B /* KeymanPackage.swift in Sources */, 9A079E40223B602B00581263 /* LexicalModel.swift in Sources */, C0E30C8C1FC40D0400C80416 /* Storage.swift in Sources */, C045148A1F85DF9100D88416 /* InputViewController.swift in Sources */, CE22DFBA230B94DB00A4551C /* ResourceDownloadQueue.swift in Sources */, CE973D872484BBC200F66045 /* KMPLanguage.swift in Sources */, 9A9CB084224170F700231FB9 /* LexicalModelRepository.swift in Sources */, CE89642124A468B200D5EB8E /* Queries+PackageVersion.swift in Sources */, C06D37461F81F5C400F61AE0 /* PopoverView.swift in Sources */, 9A4609992242047400B0BFD1 /* LexicalModelAPICall.swift in Sources */, C007C4651F9F52D8006461B9 /* LanguagesAPICall.swift in Sources */, C024C9941FA6EB470060583B /* NotificationName.swift in Sources */, C0C16A891FA8146300F090BA /* KeymanWebViewController.swift in Sources */, CE973D8D2484DD1900F66045 /* KMPFile.swift in Sources */, 9A079DCA222E050E00581263 /* LexicalModelKeymanPackage.swift in Sources */, 9A60764422893A4E003BCFBA /* SettingsViewController.swift in Sources */, C06085B41F9485E40057E5B9 /* UIButton+Helpers.swift in Sources */, C07A9D8E1FD1798900828ADD /* APIKeyboardRepository.swift in Sources */, C0959CD41F99C44E00B616BC /* Constants.swift in Sources */, C0452BAD1F9F21270064431A /* Keyboard.swift in Sources */, CE79B24923C711FF007E72AE /* KeyboardScaleMap.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; CE4459CF23FBBB34003151FD /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( CE4459E723FBBB4A003151FD /* AppDelegate.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; F243887A14BBD43000A3E055 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( C040E5121F86107E00901EE4 /* AppDelegate.swift in Sources */, C040E5141F86108900901EE4 /* MainViewController.swift in Sources */, CE24ECF121B763740052D291 /* KeymanResponder+Types.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ 98F9D69F1954112F0087AA43 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 98F9D6961954112F0087AA43 /* SystemKeyboard */; targetProxy = 98F9D69E1954112F0087AA43 /* PBXContainerItemProxy */; }; 98F9D6A21954112F0087AA43 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 98F9D6961954112F0087AA43 /* SystemKeyboard */; targetProxy = 98F9D6A11954112F0087AA43 /* PBXContainerItemProxy */; }; 9A079DD6223194B100581263 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = C06D372A1F81F4E100F61AE0 /* KeymanEngine */; targetProxy = 9A079DD5223194B100581263 /* PBXContainerItemProxy */; }; C06D37591F8206E400F61AE0 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = C06D372A1F81F4E100F61AE0 /* KeymanEngine */; targetProxy = C06D37581F8206E400F61AE0 /* PBXContainerItemProxy */; }; C06D375C1F82075D00F61AE0 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = C06D372A1F81F4E100F61AE0 /* KeymanEngine */; targetProxy = C06D375B1F82075D00F61AE0 /* PBXContainerItemProxy */; }; C06D37CB1F83204200F61AE0 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = C06D372A1F81F4E100F61AE0 /* KeymanEngine */; targetProxy = C06D37CA1F83204200F61AE0 /* PBXContainerItemProxy */; }; CE4459CC23FBB8DA003151FD /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = F243887D14BBD43000A3E055 /* KeymanEngineDemo */; targetProxy = CE4459CB23FBB8DA003151FD /* PBXContainerItemProxy */; }; CE4459EB23FBBB79003151FD /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = C06D372A1F81F4E100F61AE0 /* KeymanEngine */; targetProxy = CE4459EA23FBBB79003151FD /* PBXContainerItemProxy */; }; CE4459F923FBBCB3003151FD /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = CE4459D223FBBB34003151FD /* KeymanEngineTestHost */; targetProxy = CE4459F823FBBCB3003151FD /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ 98F9D6A41954112F0087AA43 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_UNREACHABLE_CODE = YES; CODE_SIGN_ENTITLEMENTS = SystemKeyboard/Tavultesoft.KMEI.SystemKeyboard.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 3YE4W86L3G; ENABLE_BITCODE = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; INFOPLIST_FILE = SystemKeyboard/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; METAL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = org.sil.Keyman.ios.EngineDemo.SystemKeyboard; PRODUCT_NAME = "Tavultesoft.KMEI.$(TARGET_NAME:rfc1034identifier)"; PROVISIONING_PROFILE = ""; PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; SWIFT_OBJC_BRIDGING_HEADER = "SystemKeyboard/SystemKeyboard-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.0; }; name = Debug; }; 98F9D6A51954112F0087AA43 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_UNREACHABLE_CODE = YES; CODE_SIGN_ENTITLEMENTS = SystemKeyboard/Tavultesoft.KMEI.SystemKeyboard.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = YES; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 3YE4W86L3G; ENABLE_BITCODE = NO; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_PREPROCESSOR_DEFINITIONS = ""; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; INFOPLIST_FILE = SystemKeyboard/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; METAL_ENABLE_DEBUG_INFO = NO; ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = org.sil.Keyman.ios.EngineDemo.SystemKeyboard; PRODUCT_NAME = "Tavultesoft.KMEI.$(TARGET_NAME:rfc1034identifier)"; PROVISIONING_PROFILE = ""; PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; SWIFT_OBJC_BRIDGING_HEADER = "SystemKeyboard/SystemKeyboard-Bridging-Header.h"; SWIFT_VERSION = 4.0; VALIDATE_PRODUCT = YES; }; name = Release; }; 9A079DD7223194B100581263 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = 3YE4W86L3G; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; INFOPLIST_FILE = KeymanEngineTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.keyman.testing.KeymanEngineTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/KeymanEngineTestHost.app/KeymanEngineTestHost"; }; name = Debug; }; 9A079DD8223194B100581263 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = 3YE4W86L3G; ENABLE_NS_ASSERTIONS = NO; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; INFOPLIST_FILE = KeymanEngineTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.keyman.testing.KeymanEngineTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/KeymanEngineTestHost.app/KeymanEngineTestHost"; VALIDATE_PRODUCT = YES; }; name = Release; }; C06D37311F81F4E100F61AE0 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_IDENTITY = "Apple Distribution"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; CODE_SIGN_STYLE = Manual; COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 3YE4W86L3G; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_BITCODE = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; INFOPLIST_FILE = KeymanEngine/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks @executable_path/../../Frameworks"; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = NO; PRODUCT_BUNDLE_IDENTIFIER = org.sil.Keyman.ios.Engine; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; STRIP_INSTALLED_PRODUCT = NO; STRIP_SWIFT_SYMBOLS = NO; SUPPORTS_MACCATALYST = NO; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; C06D37321F81F4E100F61AE0 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_IDENTITY = "Apple Distribution"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; CODE_SIGN_STYLE = Manual; COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 3YE4W86L3G; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_BITCODE = YES; ENABLE_NS_ASSERTIONS = NO; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; INFOPLIST_FILE = KeymanEngine/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks @executable_path/../../Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = org.sil.Keyman.ios.Engine; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; SUPPORTS_MACCATALYST = NO; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; C06D37C81F82364E00F61AE0 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = F27FCAF6157FD95E00FBBA20 /* Keyman-lib.xcconfig */; buildSettings = { IPHONEOS_DEPLOYMENT_TARGET = 9.0; ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; STRIP_STYLE = all; STRIP_SWIFT_SYMBOLS = NO; VALID_ARCHS = "arm64 armv7s armv7 x86_64 i386"; }; name = Debug; }; C06D37C91F82364E00F61AE0 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = F27FCAF6157FD95E00FBBA20 /* Keyman-lib.xcconfig */; buildSettings = { IPHONEOS_DEPLOYMENT_TARGET = 9.0; PRODUCT_NAME = "$(TARGET_NAME)"; VALID_ARCHS = "arm64 armv7s armv7 x86_64 i386"; }; name = Release; }; CE4459E523FBBB36003151FD /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = WHE552KZN5; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; INFOPLIST_FILE = "KeymanEngine/resources/Keyman.bundle/Contents/Resources/KeymanEngine-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 13.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.keyman.testing.KeymanEngineTestHost; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; CE4459E623FBBB36003151FD /* Release */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = WHE552KZN5; ENABLE_NS_ASSERTIONS = NO; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; INFOPLIST_FILE = "KeymanEngine/resources/Keyman.bundle/Contents/Resources/KeymanEngine-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 13.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.keyman.testing.KeymanEngineTestHost; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; name = Release; }; CE7E13D1240E00DF00252C00 /* Debug + Sentry */ = { isa = XCBuildConfiguration; baseConfigurationReference = 6C0A140E151EA930007FA4AD /* Debug.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEFINES_MODULE = YES; ENABLE_BITCODE = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../../Carthage/Build/iOS/"; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 9.0; KEYMAN_ROOT = "$(SRCROOT)/../../.."; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; }; name = "Debug + Sentry"; }; CE7E13D2240E00DF00252C00 /* Debug + Sentry */ = { isa = XCBuildConfiguration; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_IDENTITY = "Apple Distribution"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; CODE_SIGN_STYLE = Manual; COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 3YE4W86L3G; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_BITCODE = YES; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; INFOPLIST_FILE = KeymanEngine/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks @executable_path/../../Frameworks"; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = NO; PRODUCT_BUNDLE_IDENTIFIER = org.sil.Keyman.ios.Engine; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; SUPPORTS_MACCATALYST = NO; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = "Debug + Sentry"; }; CE7E13D3240E00DF00252C00 /* Debug + Sentry */ = { isa = XCBuildConfiguration; baseConfigurationReference = F27FCAF6157FD95E00FBBA20 /* Keyman-lib.xcconfig */; buildSettings = { IPHONEOS_DEPLOYMENT_TARGET = 9.0; ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = "$(TARGET_NAME)"; VALID_ARCHS = "arm64 armv7s armv7 x86_64 i386"; }; name = "Debug + Sentry"; }; CE7E13D4240E00DF00252C00 /* Debug + Sentry */ = { isa = XCBuildConfiguration; baseConfigurationReference = 6C0A140F151EA930007FA4AD /* Keyman.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CODE_SIGN_ENTITLEMENTS = KMEI.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 3YE4W86L3G; ENABLE_BITCODE = NO; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = org.sil.Keyman.ios.EngineDemo; PRODUCT_NAME = KeymanEngineDemo; PROVISIONING_PROFILE = ""; "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; SDKROOT = iphoneos; SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_SWIFT3_OBJC_INFERENCE = Default; SWIFT_VERSION = 4.0; VALID_ARCHS = "arm64 armv7 armv7s"; }; name = "Debug + Sentry"; }; CE7E13D5240E00DF00252C00 /* Debug + Sentry */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_UNREACHABLE_CODE = YES; CODE_SIGN_ENTITLEMENTS = SystemKeyboard/Tavultesoft.KMEI.SystemKeyboard.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 3YE4W86L3G; ENABLE_BITCODE = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; INFOPLIST_FILE = SystemKeyboard/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; METAL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = org.sil.Keyman.ios.EngineDemo.SystemKeyboard; PRODUCT_NAME = "Tavultesoft.KMEI.$(TARGET_NAME:rfc1034identifier)"; PROVISIONING_PROFILE = ""; PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; SWIFT_OBJC_BRIDGING_HEADER = "SystemKeyboard/SystemKeyboard-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.0; }; name = "Debug + Sentry"; }; CE7E13D6240E00DF00252C00 /* Debug + Sentry */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = 3YE4W86L3G; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; INFOPLIST_FILE = KeymanEngineTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 13.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.keyman.testing.KeymanEngineTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/KeymanEngineTestHost.app/KeymanEngineTestHost"; }; name = "Debug + Sentry"; }; CE7E13D7240E00DF00252C00 /* Debug + Sentry */ = { isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = WHE552KZN5; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; INFOPLIST_FILE = "KeymanEngine/resources/Keyman.bundle/Contents/Resources/KeymanEngine-Info.plist"; IPHONEOS_DEPLOYMENT_TARGET = 13.2; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.keyman.testing.KeymanEngineTestHost; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = "Debug + Sentry"; }; F24388A314BBD43100A3E055 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 6C0A140E151EA930007FA4AD /* Debug.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEFINES_MODULE = YES; ENABLE_BITCODE = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../../Carthage/Build/iOS/"; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 9.0; KEYMAN_ROOT = "$(SRCROOT)/../../.."; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG NO_SENTRY"; }; name = Debug; }; F24388A414BBD43100A3E055 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = 6C0A1411151EA930007FA4AD /* Release.xcconfig */; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEFINES_MODULE = YES; ENABLE_BITCODE = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; FRAMEWORK_SEARCH_PATHS = "$(SRCROOT)/../../Carthage/Build/iOS/"; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 9.0; KEYMAN_ROOT = "$(SRCROOT)/../../.."; ONLY_ACTIVE_ARCH = NO; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; }; name = Release; }; F24388A614BBD43100A3E055 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 6C0A140F151EA930007FA4AD /* Keyman.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CODE_SIGN_ENTITLEMENTS = KMEI.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 3YE4W86L3G; ENABLE_BITCODE = NO; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = org.sil.Keyman.ios.EngineDemo; PRODUCT_NAME = KeymanEngineDemo; PROVISIONING_PROFILE = ""; "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; SDKROOT = iphoneos; SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_SWIFT3_OBJC_INFERENCE = Default; SWIFT_VERSION = 4.0; VALID_ARCHS = "arm64 armv7 armv7s"; }; name = Debug; }; F24388A714BBD43100A3E055 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = 6C0A140F151EA930007FA4AD /* Keyman.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CODE_SIGN_ENTITLEMENTS = KMEI.entitlements; CODE_SIGN_IDENTITY = "iPhone Distribution: Summer Institute of Linguistics, Inc (SIL) (3YE4W86L3G)"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = 3YE4W86L3G; ENABLE_BITCODE = NO; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LIBRARY_SEARCH_PATHS = "$(inherited)"; PRODUCT_BUNDLE_IDENTIFIER = org.sil.Keyman.ios.EngineDemo; PRODUCT_NAME = KeymanEngineDemo; PROVISIONING_PROFILE = ""; "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; SDKROOT = iphoneos; SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_SWIFT3_OBJC_INFERENCE = Default; SWIFT_VERSION = 4.0; VALID_ARCHS = "arm64 armv7 armv7s"; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ 98F9D6A31954112F0087AA43 /* Build configuration list for PBXNativeTarget "SystemKeyboard" */ = { isa = XCConfigurationList; buildConfigurations = ( 98F9D6A41954112F0087AA43 /* Debug */, CE7E13D5240E00DF00252C00 /* Debug + Sentry */, 98F9D6A51954112F0087AA43 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 9A079DD9223194B100581263 /* Build configuration list for PBXNativeTarget "KeymanEngineTests" */ = { isa = XCConfigurationList; buildConfigurations = ( 9A079DD7223194B100581263 /* Debug */, CE7E13D6240E00DF00252C00 /* Debug + Sentry */, 9A079DD8223194B100581263 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; C06D37301F81F4E100F61AE0 /* Build configuration list for PBXNativeTarget "KeymanEngine" */ = { isa = XCConfigurationList; buildConfigurations = ( C06D37311F81F4E100F61AE0 /* Debug */, CE7E13D2240E00DF00252C00 /* Debug + Sentry */, C06D37321F81F4E100F61AE0 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; C06D37C71F82364E00F61AE0 /* Build configuration list for PBXAggregateTarget "KME-universal" */ = { isa = XCConfigurationList; buildConfigurations = ( C06D37C81F82364E00F61AE0 /* Debug */, CE7E13D3240E00DF00252C00 /* Debug + Sentry */, C06D37C91F82364E00F61AE0 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; CE4459E423FBBB36003151FD /* Build configuration list for PBXNativeTarget "KeymanEngineTestHost" */ = { isa = XCConfigurationList; buildConfigurations = ( CE4459E523FBBB36003151FD /* Debug */, CE7E13D7240E00DF00252C00 /* Debug + Sentry */, CE4459E623FBBB36003151FD /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; F243887814BBD43000A3E055 /* Build configuration list for PBXProject "KeymanEngine" */ = { isa = XCConfigurationList; buildConfigurations = ( F24388A314BBD43100A3E055 /* Debug */, CE7E13D1240E00DF00252C00 /* Debug + Sentry */, F24388A414BBD43100A3E055 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; F24388A514BBD43100A3E055 /* Build configuration list for PBXNativeTarget "KeymanEngineDemo" */ = { isa = XCConfigurationList; buildConfigurations = ( F24388A614BBD43100A3E055 /* Debug */, CE7E13D4240E00DF00252C00 /* Debug + Sentry */, F24388A714BBD43100A3E055 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; rootObject = F243887514BBD43000A3E055 /* Project object */; }