From 4809caa631f50e9058e65f3bcea9beae033d666f Mon Sep 17 00:00:00 2001 From: Tisfeng Date: Fri, 5 Jan 2024 21:05:21 +0800 Subject: [PATCH 01/10] Create swift.yml --- .github/workflows/swift.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .github/workflows/swift.yml diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml new file mode 100644 index 000000000..b2ab57fbe --- /dev/null +++ b/.github/workflows/swift.yml @@ -0,0 +1,22 @@ +# This workflow will build a Swift project +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-swift + +name: Swift + +on: + push: + branches: [ "main", "dev" ] + pull_request: + branches: [ "main", "dev" ] + +jobs: + build: + + runs-on: macos-latest + + steps: + - uses: actions/checkout@v3 + - name: Build + run: swift build -v + - name: Run tests + run: swift test -v From c864f7626ef221acea3985fc6c158a765ede9b88 Mon Sep 17 00:00:00 2001 From: Tisfeng Date: Fri, 5 Jan 2024 22:03:55 +0800 Subject: [PATCH 02/10] Create codeql.yml --- .github/workflows/codeql.yml | 81 ++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 .github/workflows/codeql.yml diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 000000000..e8dcd9f3e --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,81 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ "main", "dev" ] + pull_request: + branches: [ "main", "dev" ] + schedule: + - cron: '20 18 * * 3' + +jobs: + analyze: + name: Analyze + # Runner size impacts CodeQL analysis time. To learn more, please see: + # - https://gh.io/recommended-hardware-resources-for-running-codeql + # - https://gh.io/supported-runners-and-hardware-resources + # - https://gh.io/using-larger-runners + # Consider using larger runners for possible analysis time improvements. + runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} + timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }} + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'c-cpp', 'javascript-typescript', 'ruby', 'swift' ] + # CodeQL supports [ 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' ] + # Use only 'java-kotlin' to analyze code written in Java, Kotlin or both + # Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both + # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + + # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v3 + + # ℹī¸ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + + # If the Autobuild fails above, remove it and uncomment the following three lines. + # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. + + # - run: | + # echo "Run, Build Application using script" + # ./location_of_script_within_repo/buildscript.sh + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 + with: + category: "/language:${{matrix.language}}" From d85f499c664b9e6b79a2598d7efed44c7ea0b580 Mon Sep 17 00:00:00 2001 From: tisfeng Date: Fri, 5 Jan 2024 22:38:47 +0800 Subject: [PATCH 03/10] Revert "Create codeql.yml" This reverts commit c864f7626ef221acea3985fc6c158a765ede9b88. --- .github/workflows/codeql.yml | 81 ------------------------------------ 1 file changed, 81 deletions(-) delete mode 100644 .github/workflows/codeql.yml diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml deleted file mode 100644 index e8dcd9f3e..000000000 --- a/.github/workflows/codeql.yml +++ /dev/null @@ -1,81 +0,0 @@ -# For most projects, this workflow file will not need changing; you simply need -# to commit it to your repository. -# -# You may wish to alter this file to override the set of languages analyzed, -# or to provide custom queries or build logic. -# -# ******** NOTE ******** -# We have attempted to detect the languages in your repository. Please check -# the `language` matrix defined below to confirm you have the correct set of -# supported CodeQL languages. -# -name: "CodeQL" - -on: - push: - branches: [ "main", "dev" ] - pull_request: - branches: [ "main", "dev" ] - schedule: - - cron: '20 18 * * 3' - -jobs: - analyze: - name: Analyze - # Runner size impacts CodeQL analysis time. To learn more, please see: - # - https://gh.io/recommended-hardware-resources-for-running-codeql - # - https://gh.io/supported-runners-and-hardware-resources - # - https://gh.io/using-larger-runners - # Consider using larger runners for possible analysis time improvements. - runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} - timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }} - permissions: - actions: read - contents: read - security-events: write - - strategy: - fail-fast: false - matrix: - language: [ 'c-cpp', 'javascript-typescript', 'ruby', 'swift' ] - # CodeQL supports [ 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' ] - # Use only 'java-kotlin' to analyze code written in Java, Kotlin or both - # Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both - # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - - # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs - # queries: security-extended,security-and-quality - - - # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v3 - - # ℹī¸ Command-line programs to run using the OS shell. - # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun - - # If the Autobuild fails above, remove it and uncomment the following three lines. - # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. - - # - run: | - # echo "Run, Build Application using script" - # ./location_of_script_within_repo/buildscript.sh - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 - with: - category: "/language:${{matrix.language}}" From 2b73a26606523c844208a77592890b3ce48b3530 Mon Sep 17 00:00:00 2001 From: Tisfeng Date: Sat, 6 Jan 2024 00:02:01 +0800 Subject: [PATCH 04/10] Create codeql.yml --- .github/workflows/codeql.yml | 81 ++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 .github/workflows/codeql.yml diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 000000000..a57e6660b --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,81 @@ +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ "main", "dev" ] + pull_request: + branches: [ "main", "dev" ] + schedule: + - cron: '36 14 * * 5' + +jobs: + analyze: + name: Analyze + # Runner size impacts CodeQL analysis time. To learn more, please see: + # - https://gh.io/recommended-hardware-resources-for-running-codeql + # - https://gh.io/supported-runners-and-hardware-resources + # - https://gh.io/using-larger-runners + # Consider using larger runners for possible analysis time improvements. + runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} + timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }} + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'c-cpp', 'javascript-typescript', 'ruby', 'swift' ] + # CodeQL supports [ 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' ] + # Use only 'java-kotlin' to analyze code written in Java, Kotlin or both + # Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both + # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + + # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs + # queries: security-extended,security-and-quality + + + # Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v3 + + # ℹī¸ Command-line programs to run using the OS shell. + # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun + + # If the Autobuild fails above, remove it and uncomment the following three lines. + # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance. + + # - run: | + # echo "Run, Build Application using script" + # ./location_of_script_within_repo/buildscript.sh + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 + with: + category: "/language:${{matrix.language}}" From 651f995a0bffca33ae99152d3a3cc12a4479e39d Mon Sep 17 00:00:00 2001 From: tisfeng Date: Sat, 6 Jan 2024 00:29:20 +0800 Subject: [PATCH 05/10] chore: set xcode version to 15.1 --- .github/workflows/codeql.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index a57e6660b..1260e6cdc 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -37,13 +37,18 @@ jobs: strategy: fail-fast: false matrix: - language: [ 'c-cpp', 'javascript-typescript', 'ruby', 'swift' ] + language: [ 'javascript-typescript', 'swift' ] # CodeQL supports [ 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift' ] # Use only 'java-kotlin' to analyze code written in Java, Kotlin or both # Use only 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support steps: + - name: Setup Xcode Version + uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: '15.1' + - name: Checkout repository uses: actions/checkout@v4 From a997c98b355a00d8de21c85c160899555e06d73a Mon Sep 17 00:00:00 2001 From: tisfeng Date: Sat, 6 Jan 2024 00:35:21 +0800 Subject: [PATCH 06/10] chore: fix indentation error --- .github/workflows/codeql.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 1260e6cdc..6520d9111 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -46,7 +46,7 @@ jobs: steps: - name: Setup Xcode Version uses: maxim-lobanov/setup-xcode@v1 - with: + with: xcode-version: '15.1' - name: Checkout repository From 6a2cfb4f997daff4463dbc624fc07a58956c1ef3 Mon Sep 17 00:00:00 2001 From: tisfeng Date: Sat, 6 Jan 2024 01:04:46 +0800 Subject: [PATCH 07/10] chore: set image to macos-13 --- .github/workflows/codeql.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 6520d9111..55a054764 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -27,7 +27,7 @@ jobs: # - https://gh.io/supported-runners-and-hardware-resources # - https://gh.io/using-larger-runners # Consider using larger runners for possible analysis time improvements. - runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }} + runs-on: ${{ (matrix.language == 'swift' && 'macos-13') || 'ubuntu-latest' }} timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }} permissions: actions: read From c0abd2a4803d233ad82a6059523c4f82011441d7 Mon Sep 17 00:00:00 2001 From: tisfeng Date: Sat, 6 Jan 2024 01:46:26 +0800 Subject: [PATCH 08/10] chore: only set xcode if language is swfit --- .github/workflows/codeql.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 55a054764..047dd13b3 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -45,6 +45,7 @@ jobs: steps: - name: Setup Xcode Version + if: matrix.language == 'swift' uses: maxim-lobanov/setup-xcode@v1 with: xcode-version: '15.1' From 501bac97f8886fbd07abda214aef23672591cb1c Mon Sep 17 00:00:00 2001 From: phlpsong <103433299+phlpsong@users.noreply.github.com> Date: Fri, 5 Jan 2024 19:48:33 +0800 Subject: [PATCH 09/10] bugfix: app language not follow language updates in system settings (#306) * perf: use NSLocale.preferredLanguages instead of NSUserDefaults AppleLanguages * bugfix: #305 reset AppleLanguages values --------- Co-authored-by: tisfeng --- Easydict/App/AppDelegate.m | 2 - .../Service/Language/EZLanguageManager.m | 41 +++++++++++++------ 2 files changed, 29 insertions(+), 14 deletions(-) diff --git a/Easydict/App/AppDelegate.m b/Easydict/App/AppDelegate.m index df4b5ae8a..8aa9e5f27 100644 --- a/Easydict/App/AppDelegate.m +++ b/Easydict/App/AppDelegate.m @@ -34,8 +34,6 @@ - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { [EZLog setupCrashLogService]; [EZLog logAppInfo]; - [self setupAppLanguage]; - if (!EasydictNewAppManager.shared.enable) { [EZMenuItemManager.shared setup]; } diff --git a/Easydict/Feature/Service/Language/EZLanguageManager.m b/Easydict/Feature/Service/Language/EZLanguageManager.m index 4d365d972..f2e430349 100644 --- a/Easydict/Feature/Service/Language/EZLanguageManager.m +++ b/Easydict/Feature/Service/Language/EZLanguageManager.m @@ -28,7 +28,7 @@ @implementation EZLanguageManager static EZLanguageManager *_instance; + (instancetype)shared { - @synchronized (self) { + @synchronized(self) { if (!_instance) { _instance = [[super allocWithZone:NULL] init]; [_instance setup]; @@ -46,6 +46,9 @@ + (void)destroySharedInstance { } - (void)setup { + // Ref: https://stackoverflow.com/a/25011408 + // A workaround of `AppleLanguages` not refresh once inserted object + [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"AppleLanguages"]; NSArray *showingLanguages = [EZLanguageManager.shared allLanguages]; self.allLanguageFlagDict = [[MMOrderedDictionary alloc] init]; for (EZLanguage language in showingLanguages) { @@ -66,23 +69,37 @@ - (void)setup { [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] is the same with [NSLocale preferredLanguages] generally, but it can be modified. Changing the system language does not seem to take effect immediately and may require a reboot of the computer. + + Ref https://stackoverflow.com/a/4221416/8378840 + !!!: For Canadian English, AppleLanguages returns "en_CA", while [NSLocale preferredLanguages] returns "en-CA" */ - // NSArray *preferredLanguages = [NSLocale preferredLanguages]; - NSArray *preferredLanguages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"]; + NSArray *preferredLanguages = [NSLocale preferredLanguages]; + // NSArray *preferredLanguages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"]; + + // Chinese (Hong kong) --> zh-HK + // Chinese, Traditional --> zh-Hant MMLogInfo(@"AppleLanguages: %@", preferredLanguages); NSMutableArray *languages = [NSMutableArray array]; for (NSString *language in preferredLanguages) { - NSMutableArray *array = [NSMutableArray arrayWithArray:[language componentsSeparatedByString:@"-"]]; - // Remove country code - [array removeLastObject]; - NSString *languageCode = [array componentsJoinedByString:@"-"]; + // "zh-Hans-CN" + NSDictionary *languageDic = [NSLocale componentsFromLocaleIdentifier:language]; + NSString *languageCode = [languageDic objectForKey:NSLocaleLanguageCode]; // zh + NSString *scriptCode = [languageDic objectForKey:NSLocaleScriptCode]; // Hans + // NSString *countryCode = [languageDic objectForKey:NSLocaleCountryCode]; // CN + + NSString *languageScriptCode = languageCode; + if (scriptCode) { + // Only some special languages have script code, such as zh-Hans, zh-Hant. + languageScriptCode = [NSString stringWithFormat:@"%@-%@", languageCode, scriptCode]; + } + // Convert to EZLanguage - EZLanguage ezLanguage = [EZAppleService.shared languageEnumFromAppleLanguage:languageCode]; + EZLanguage ezLanguage = [EZAppleService.shared languageEnumFromAppleLanguage:languageScriptCode]; - // handle "zh-CN" - if ([languageCode hasPrefix:@"zh"] && [ezLanguage isEqualToString:EZLanguageAuto]) { + // Handle "zh-CN" + if ([languageScriptCode hasPrefix:@"zh"] && [ezLanguage isEqualToString:EZLanguageAuto]) { ezLanguage = EZLanguageSimplifiedChinese; } @@ -126,7 +143,7 @@ - (void)setup { NSMutableArray *preferredLanguages = [NSMutableArray array]; [preferredLanguages addObjectsFromArray:self.userPreferredTwoLanguages]; [preferredLanguages addObjectsFromArray:self.systemPreferredLanguages]; - + NSMutableArray *languages = [NSMutableArray array]; for (EZLanguage language in preferredLanguages) { if (![languages containsObject:language]) { @@ -148,7 +165,7 @@ - (EZLanguage)systemSecondLanguage { - (NSArray *)userPreferredTwoLanguages { - NSArray *twoLanguages = @[self.userFirstLanguage, self.userSecondLanguage]; + NSArray *twoLanguages = @[ self.userFirstLanguage, self.userSecondLanguage ]; return twoLanguages; } From cefb06755bd798fb0a20beac21b0f3f2671819aa Mon Sep 17 00:00:00 2001 From: tisfeng Date: Fri, 5 Jan 2024 17:20:01 +0800 Subject: [PATCH 10/10] fix: resolve warning in release mode set GENERATE_DEBUGGING to NO (x86_64) could not find object file symbol for symbol _protobuf_c_version --- Easydict.xcodeproj/project.pbxproj | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Easydict.xcodeproj/project.pbxproj b/Easydict.xcodeproj/project.pbxproj index 88c811fb3..00aad8201 100644 --- a/Easydict.xcodeproj/project.pbxproj +++ b/Easydict.xcodeproj/project.pbxproj @@ -2754,6 +2754,7 @@ DEVELOPMENT_TEAM = 79NQA2XYHM; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GENERATE_INFOPLIST_FILE = YES; MACOSX_DEPLOYMENT_TARGET = 14.1; MARKETING_VERSION = 1.0; @@ -2781,6 +2782,7 @@ DEVELOPMENT_TEAM = 79NQA2XYHM; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GENERATE_INFOPLIST_FILE = YES; MACOSX_DEPLOYMENT_TARGET = 14.1; MARKETING_VERSION = 1.0; @@ -2807,6 +2809,7 @@ DEVELOPMENT_TEAM = "$(DEVELOPMENT_TEAM)"; ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_PREFIX_HEADER = "$(SRCROOT)/Easydict/App/PrefixHeader.pch"; GENERATE_INFOPLIST_FILE = YES; MACOSX_DEPLOYMENT_TARGET = 11.0; @@ -2831,6 +2834,7 @@ DEVELOPMENT_TEAM = "$(DEVELOPMENT_TEAM)"; ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_PREFIX_HEADER = "$(SRCROOT)/Easydict/App/PrefixHeader.pch"; GENERATE_INFOPLIST_FILE = YES; MACOSX_DEPLOYMENT_TARGET = 11.0; @@ -2855,6 +2859,7 @@ DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = "$(DEVELOPMENT_TEAM)"; ENABLE_HARDENED_RUNTIME = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; INFOPLIST_FILE = EasydictHelper/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -2880,6 +2885,7 @@ DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = "$(DEVELOPMENT_TEAM)"; ENABLE_HARDENED_RUNTIME = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; INFOPLIST_FILE = EasydictHelper/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -3038,6 +3044,7 @@ ENABLE_HARDENED_RUNTIME = YES; ENABLE_TESTING_SEARCH_PATHS = NO; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_PREFIX_HEADER = "$(SRCROOT)/Easydict/App/PrefixHeader.pch"; INFOPLIST_FILE = "$(TARGET_NAME)/App/Info-debug.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities"; @@ -3077,6 +3084,7 @@ ENABLE_HARDENED_RUNTIME = YES; ENABLE_TESTING_SEARCH_PATHS = NO; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; GCC_PREFIX_HEADER = "$(SRCROOT)/Easydict/App/PrefixHeader.pch"; INFOPLIST_FILE = "$(TARGET_NAME)/App/Info.plist"; INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities";