From 1129a9b6dffc58c3a1e286415f8ae740c03c9c9b Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Fri, 11 Jul 2025 12:51:43 +0530 Subject: [PATCH 01/18] Add LICENSE and SECURITY.md files --- LICENSE | 21 +++++++++++++++++++++ README.md | 2 +- SECURITY.md | 27 +++++++++++++++++++++++++++ 3 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 LICENSE create mode 100644 SECURITY.md diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d78b6bc --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2012 - 2025 Contentstack + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index d1f5e97..6e2e3fd 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ **About this project**: Create an iOS news app using Contentstack iOS SDK. - + ## Tutorial diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..88da02e --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,27 @@ +# Security + +Contentstack takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations. + +If you believe you have found a security vulnerability in any Contentstack-owned repository, please report it to us as described below. + +## Reporting Security Issues + +**Please do not report security vulnerabilities through public GitHub issues.** + +Send email to [security@contentstack.com](mailto:security@contentstack.com). + +You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. + +Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue: + +- Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.) +- Full paths of source file(s) related to the manifestation of the issue +- The location of the affected source code (tag/branch/commit or direct URL) +- Any special configuration required to reproduce the issue +- Step-by-step instructions to reproduce the issue +- Proof-of-concept or exploit code (if possible) +- Impact of the issue, including how an attacker might exploit the issue + +This information will help us triage your report more quickly. + +[https://www.contentstack.com/trust/](https://www.contentstack.com/trust/) From 26e780f59efeed177cbaa9803c642f7e0e04bdb3 Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Fri, 11 Jul 2025 12:58:45 +0530 Subject: [PATCH 02/18] Update CodeQL workflow for Swift analysis and upgrade dependencies --- .github/workflows/codeql-analysis.yml | 10 +++++----- .talismanrc | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index aca07d2..e5bfe25 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -19,7 +19,7 @@ on: jobs: analyze: name: Analyze - runs-on: ubuntu-latest + runs-on: macos-latest permissions: actions: read contents: read @@ -28,17 +28,17 @@ jobs: strategy: fail-fast: false matrix: - language: [ 'ruby' ] + language: [ 'swift' ] # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + 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. @@ -65,4 +65,4 @@ jobs: # ./location_of_script_within_repo/buildscript.sh - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@v3 diff --git a/.talismanrc b/.talismanrc index 345ca2f..5d2bee0 100644 --- a/.talismanrc +++ b/.talismanrc @@ -1,5 +1,7 @@ fileignoreconfig: - filename: .github/workflows/secrets-scan.yml +- filename: README.md + checksum: e725ff07d9c1bc643171e63e63e8de446017be17e9164909ec3a1b2585fe45a3 ignore_detectors: - filecontent version: "1.0" \ No newline at end of file From ea79ea997fb56ea07eacdff3ae50e144c288ff87 Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Mon, 14 Jul 2025 11:50:02 +0530 Subject: [PATCH 03/18] Update CodeQL action version, increase iOS platform version to 12.0, and fix Podfile.lock repository URL --- .github/workflows/codeql-analysis.yml | 2 +- Podfile | 2 +- Podfile.lock | 6 +++--- csnews.xcodeproj/project.pbxproj | 10 +++++++--- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index e5bfe25..c223537 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -52,7 +52,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v2 + 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 diff --git a/Podfile b/Podfile index 516102c..5d2689a 100644 --- a/Podfile +++ b/Podfile @@ -1,5 +1,5 @@ source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '8.0' +platform :ios, '12.0' use_frameworks! target 'csnews' do diff --git a/Podfile.lock b/Podfile.lock index 0aa2fe8..366ab20 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -11,7 +11,7 @@ DEPENDENCIES: - NVActivityIndicatorView (~> 4.4.0) SPEC REPOS: - https://github.com/cocoapods/specs.git: + https://github.com/CocoaPods/Specs.git: - Contentstack - Kingfisher - NVActivityIndicatorView @@ -21,6 +21,6 @@ SPEC CHECKSUMS: Kingfisher: c148cd7b47ebde9989f6bc7c27dcaa79d81279a0 NVActivityIndicatorView: f0a6b0ed2973d9544da268f4eb76696f0a9577b0 -PODFILE CHECKSUM: 841fe30c08174e6ed20c8ce8df27fb8bfe0ce183 +PODFILE CHECKSUM: 167accf92a360532794d3bb3f85ea117dacc1880 -COCOAPODS: 1.6.0.rc.2 +COCOAPODS: 1.16.2 diff --git a/csnews.xcodeproj/project.pbxproj b/csnews.xcodeproj/project.pbxproj index 0ebbfa3..a6cff77 100644 --- a/csnews.xcodeproj/project.pbxproj +++ b/csnews.xcodeproj/project.pbxproj @@ -251,6 +251,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, "hi-IN", @@ -466,9 +467,12 @@ "$(inherited)", "$(PROJECT_DIR)/csnews", ); - "FRAMEWORK_SEARCH_PATHS[arch=*]" = "$(inherited) $(PROJECT_DIR)/csnews"; + "FRAMEWORK_SEARCH_PATHS[arch=*]" = ( + "$(inherited)", + "$(PROJECT_DIR)/csnews", + ); INFOPLIST_FILE = csnews/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.4; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( "$(inherited)", @@ -493,7 +497,7 @@ "$(PROJECT_DIR)/csnews", ); INFOPLIST_FILE = csnews/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.4; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( "$(inherited)", From c4eed5b32ec53355a4c15012bd97b1c1cb41ff82 Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Mon, 14 Jul 2025 12:46:22 +0530 Subject: [PATCH 04/18] Update Podfile.lock checksum and increase iOS deployment target to 12.0 --- .talismanrc | 2 ++ csnews.xcodeproj/project.pbxproj | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.talismanrc b/.talismanrc index 5d2bee0..ccb4ad3 100644 --- a/.talismanrc +++ b/.talismanrc @@ -2,6 +2,8 @@ fileignoreconfig: - filename: .github/workflows/secrets-scan.yml - filename: README.md checksum: e725ff07d9c1bc643171e63e63e8de446017be17e9164909ec3a1b2585fe45a3 +- filename: Podfile.lock + checksum: 1e736dd1291867ab01f6557552c7fa275cce09f83fe85d91530a8848dee1e991 ignore_detectors: - filecontent version: "1.0" \ No newline at end of file diff --git a/csnews.xcodeproj/project.pbxproj b/csnews.xcodeproj/project.pbxproj index a6cff77..33c4297 100644 --- a/csnews.xcodeproj/project.pbxproj +++ b/csnews.xcodeproj/project.pbxproj @@ -409,7 +409,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.3; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = "$(inherited)"; @@ -448,7 +448,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.3; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = "$(inherited)"; SDKROOT = iphoneos; From 6f9d2cdece1697bff40b50e961933cc07646726a Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Mon, 14 Jul 2025 13:06:08 +0530 Subject: [PATCH 05/18] Downgrade CodeQL autobuild action version from v3 to v2 --- .github/workflows/codeql-analysis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index c223537..e5bfe25 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -52,7 +52,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v3 + uses: github/codeql-action/autobuild@v2 # ℹ️ 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 From 661b1643dc90cf9b930be28154c503d4c853b393 Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Wed, 16 Jul 2025 16:03:59 +0530 Subject: [PATCH 06/18] Update CodeQL workflow to trigger on push events and add manual build step for Swift/iOS --- .github/workflows/codeql-analysis.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index e5bfe25..fc400e0 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -12,6 +12,8 @@ name: "CodeQL" on: + push: + branches: '*' pull_request: # The branches below must be a subset of the branches above branches: '*' @@ -51,8 +53,14 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v2 + # - name: Autobuild + # uses: github/codeql-action/autobuild@v3 + + # Manual build step for Swift/iOS + - name: Build with xcodebuild + run: | + xcodebuild -scheme csnews -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 14' build + # ℹ️ 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 From b893e5e0e4ba5262bf7510e4f717de56ef9a7928 Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Wed, 16 Jul 2025 16:23:15 +0530 Subject: [PATCH 07/18] Enhance CodeQL workflow by adding steps to list available schemes and simulators, and update build destination for iOS Simulator --- .github/workflows/codeql-analysis.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index fc400e0..0571af6 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -57,9 +57,15 @@ jobs: # uses: github/codeql-action/autobuild@v3 # Manual build step for Swift/iOS + - name: List available schemes + run: xcodebuild -list + + - name: List available simulators + run: xcrun simctl list devices + - name: Build with xcodebuild run: | - xcodebuild -scheme csnews -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 14' build + xcodebuild -scheme csnews -sdk iphonesimulator -destination 'platform=iOS Simulator,OS=latest,name=iPhone SE (3rd generation)' build CODE_SIGNING_ALLOWED=NO # ℹ️ Command-line programs to run using the OS shell. From 47d876cb54e03092244c95ddfab3a63301d6702f Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Thu, 17 Jul 2025 09:50:02 +0530 Subject: [PATCH 08/18] Update CodeQL workflow to install CocoaPods dependencies and enhance build command for iOS Simulator --- .github/workflows/codeql-analysis.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 0571af6..978a01c 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -63,9 +63,17 @@ jobs: - name: List available simulators run: xcrun simctl list devices + - name: Install CocoaPods dependencies + run: pod install + - name: Build with xcodebuild run: | - xcodebuild -scheme csnews -sdk iphonesimulator -destination 'platform=iOS Simulator,OS=latest,name=iPhone SE (3rd generation)' build CODE_SIGNING_ALLOWED=NO + xcodebuild -workspace csnews.xcworkspace \ + -scheme csnews \ + -sdk iphonesimulator \ + -destination 'platform=iOS Simulator,OS=latest,name=iPhone SE (3rd generation)' \ + build CODE_SIGNING_ALLOWED=NO + -verbose # ℹ️ Command-line programs to run using the OS shell. From 827483d6256a7fadc815fd64dbb553fce46cebd3 Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Thu, 17 Jul 2025 10:52:34 +0530 Subject: [PATCH 09/18] Update Podfile and dependencies, increase iOS deployment target to 15.0, and enhance image URL handling in NewsCell, NewsDetailController, and TopNewsController --- Podfile | 17 +++++++--- Podfile.lock | 24 +++++++------- csnews.xcodeproj/project.pbxproj | 55 +++++++++++++++++-------------- csnews/NewsCell.swift | 15 +++++---- csnews/NewsDetailController.swift | 18 ++++++---- csnews/TopNewsController.swift | 21 +++++++----- 6 files changed, 89 insertions(+), 61 deletions(-) diff --git a/Podfile b/Podfile index 5d2689a..fe5ba1d 100644 --- a/Podfile +++ b/Podfile @@ -1,9 +1,18 @@ source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '12.0' +platform :ios, '15.0' use_frameworks! target 'csnews' do - pod 'NVActivityIndicatorView', '~> 4.4.0' - pod 'Kingfisher', '~> 4.10.0' - pod 'Contentstack' + pod 'NVActivityIndicatorView', '~> 5.2.0' + pod 'Kingfisher', '~> 8.5.0' + pod 'Contentstack', '~> 3.15.0' +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + target.build_configurations.each do |config| + config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64' + config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0' + end + end end diff --git a/Podfile.lock b/Podfile.lock index 366ab20..22caec4 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,14 +1,14 @@ PODS: - - Contentstack (3.3.0) - - Kingfisher (4.10.1) - - NVActivityIndicatorView (4.4.1): - - NVActivityIndicatorView/Presenter (= 4.4.1) - - NVActivityIndicatorView/Presenter (4.4.1) + - Contentstack (3.15.0) + - Kingfisher (8.5.0) + - NVActivityIndicatorView (5.2.0): + - NVActivityIndicatorView/Base (= 5.2.0) + - NVActivityIndicatorView/Base (5.2.0) DEPENDENCIES: - - Contentstack - - Kingfisher (~> 4.10.0) - - NVActivityIndicatorView (~> 4.4.0) + - Contentstack (~> 3.15.0) + - Kingfisher (~> 8.5.0) + - NVActivityIndicatorView (~> 5.2.0) SPEC REPOS: https://github.com/CocoaPods/Specs.git: @@ -17,10 +17,10 @@ SPEC REPOS: - NVActivityIndicatorView SPEC CHECKSUMS: - Contentstack: 297c5cfd221d0463b8f86093682dcfb04fe14f79 - Kingfisher: c148cd7b47ebde9989f6bc7c27dcaa79d81279a0 - NVActivityIndicatorView: f0a6b0ed2973d9544da268f4eb76696f0a9577b0 + Contentstack: 2f82e64408036f33d9b561e65cd5c359943362fa + Kingfisher: ff0d31a1f07bdff6a1ebb3ba08b8e6e567b6500c + NVActivityIndicatorView: fe52a6a68664c2df8991d7d9e3d86d8d19453c53 -PODFILE CHECKSUM: 167accf92a360532794d3bb3f85ea117dacc1880 +PODFILE CHECKSUM: 83aa797e71758f068a5c2d8bfddeec8b600e21b1 COCOAPODS: 1.16.2 diff --git a/csnews.xcodeproj/project.pbxproj b/csnews.xcodeproj/project.pbxproj index 33c4297..42dc34a 100644 --- a/csnews.xcodeproj/project.pbxproj +++ b/csnews.xcodeproj/project.pbxproj @@ -7,7 +7,6 @@ objects = { /* Begin PBXBuildFile section */ - 020B4AF04BE8344AFEDFC850 /* Pods_csnews.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DBD98A043B84E4C74322D7B2 /* Pods_csnews.framework */; }; 230405CC1BA2FA2300CEE159 /* EmptySegue.swift in Sources */ = {isa = PBXBuildFile; fileRef = 230405CB1BA2FA2300CEE159 /* EmptySegue.swift */; }; 230405CE1BA2FCF700CEE159 /* CategoryController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 230405CD1BA2FCF700CEE159 /* CategoryController.swift */; }; 231443E91BA321960040250B /* MSSlidingPanelController.m in Sources */ = {isa = PBXBuildFile; fileRef = 231443E61BA321960040250B /* MSSlidingPanelController.m */; }; @@ -25,6 +24,7 @@ 23CDAA2F1BCFA7380066A61A /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 23CDAA311BCFA7380066A61A /* Localizable.strings */; }; 23EB41DA1BA3448200600155 /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23EB41D91BA3448200600155 /* Extensions.swift */; }; 23EB41DC1BA34BEA00600155 /* TopNewsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23EB41DB1BA34BEA00600155 /* TopNewsController.swift */; }; + B2B9A4EF4D2377FDCC4DC307 /* Pods_csnews.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 77EB7CEDABDD6C1704A49259 /* Pods_csnews.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -55,10 +55,10 @@ 23EB41D91BA3448200600155 /* Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Extensions.swift; sourceTree = ""; }; 23EB41DB1BA34BEA00600155 /* TopNewsController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TopNewsController.swift; sourceTree = ""; }; 3752A72C1C3ABB102F61B165 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 46F3CBEBAF0574A168CDA14B /* Pods-csnews.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-csnews.debug.xcconfig"; path = "Pods/Target Support Files/Pods-csnews/Pods-csnews.debug.xcconfig"; sourceTree = ""; }; - 90B379CA8D1D1CC158A49183 /* Pods-csnews.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-csnews.release.xcconfig"; path = "Pods/Target Support Files/Pods-csnews/Pods-csnews.release.xcconfig"; sourceTree = ""; }; + 5DE52CCC0FDBD20638AD5879 /* Pods-csnews.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-csnews.debug.xcconfig"; path = "Target Support Files/Pods-csnews/Pods-csnews.debug.xcconfig"; sourceTree = ""; }; + 67999A261DD8592B05C37EDD /* Pods-csnews.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-csnews.release.xcconfig"; path = "Target Support Files/Pods-csnews/Pods-csnews.release.xcconfig"; sourceTree = ""; }; + 77EB7CEDABDD6C1704A49259 /* Pods_csnews.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_csnews.framework; sourceTree = BUILT_PRODUCTS_DIR; }; BB1B2DFCFB656C3EEFF758AF /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DBD98A043B84E4C74322D7B2 /* Pods_csnews.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_csnews.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -69,7 +69,7 @@ 236683671B94252300E22B59 /* MobileCoreServices.framework in Frameworks */, 236683651B94251C00E22B59 /* Security.framework in Frameworks */, 236683631B94250700E22B59 /* SystemConfiguration.framework in Frameworks */, - 020B4AF04BE8344AFEDFC850 /* Pods_csnews.framework in Frameworks */, + B2B9A4EF4D2377FDCC4DC307 /* Pods_csnews.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -121,7 +121,7 @@ 2366833D1B94236000E22B59 /* csnews */, 2366833C1B94236000E22B59 /* Products */, 5C4D2E668126DE6FCF256AE9 /* Frameworks */, - 26FC58103C60EEA0CF547E1E /* Pods */, + A42B63567521BA07A80D72A0 /* Pods */, ); sourceTree = ""; }; @@ -185,26 +185,27 @@ 236683661B94252300E22B59 /* MobileCoreServices.framework */, 236683641B94251C00E22B59 /* Security.framework */, 3752A72C1C3ABB102F61B165 /* Pods.framework */, - DBD98A043B84E4C74322D7B2 /* Pods_csnews.framework */, + 77EB7CEDABDD6C1704A49259 /* Pods_csnews.framework */, ); name = Frameworks; sourceTree = ""; }; - 26FC58103C60EEA0CF547E1E /* Pods */ = { + 5C4D2E668126DE6FCF256AE9 /* Frameworks */ = { isa = PBXGroup; children = ( - 46F3CBEBAF0574A168CDA14B /* Pods-csnews.debug.xcconfig */, - 90B379CA8D1D1CC158A49183 /* Pods-csnews.release.xcconfig */, + BB1B2DFCFB656C3EEFF758AF /* Pods.framework */, ); - name = Pods; + name = Frameworks; sourceTree = ""; }; - 5C4D2E668126DE6FCF256AE9 /* Frameworks */ = { + A42B63567521BA07A80D72A0 /* Pods */ = { isa = PBXGroup; children = ( - BB1B2DFCFB656C3EEFF758AF /* Pods.framework */, + 5DE52CCC0FDBD20638AD5879 /* Pods-csnews.debug.xcconfig */, + 67999A261DD8592B05C37EDD /* Pods-csnews.release.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; /* End PBXGroup section */ @@ -214,11 +215,11 @@ isa = PBXNativeTarget; buildConfigurationList = 2366835A1B94236000E22B59 /* Build configuration list for PBXNativeTarget "csnews" */; buildPhases = ( - 0CE87252EC002323889E502B /* [CP] Check Pods Manifest.lock */, + 5E6DB13D8B4F33742AF05DF8 /* [CP] Check Pods Manifest.lock */, 236683371B94235F00E22B59 /* Sources */, 236683381B94235F00E22B59 /* Frameworks */, 236683391B94235F00E22B59 /* Resources */, - C68A18BA31E6D9E48A326BA0 /* [CP] Embed Pods Frameworks */, + 814972872F7AC4FB3AE46596 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -281,16 +282,20 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 0CE87252EC002323889E502B /* [CP] Check Pods Manifest.lock */ = { + 5E6DB13D8B4F33742AF05DF8 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( "${PODS_PODFILE_DIR_PATH}/Podfile.lock", "${PODS_ROOT}/Manifest.lock", ); name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); outputPaths = ( "$(DERIVED_FILE_DIR)/Pods-csnews-checkManifestLockResult.txt", ); @@ -299,18 +304,20 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - C68A18BA31E6D9E48A326BA0 /* [CP] Embed Pods Frameworks */ = { + 814972872F7AC4FB3AE46596 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( "${PODS_ROOT}/Target Support Files/Pods-csnews/Pods-csnews-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/Contentstack/Contentstack.framework", "${BUILT_PRODUCTS_DIR}/Kingfisher/Kingfisher.framework", "${BUILT_PRODUCTS_DIR}/NVActivityIndicatorView/NVActivityIndicatorView.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Contentstack.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Kingfisher.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/NVActivityIndicatorView.framework", ); @@ -409,7 +416,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = "$(inherited)"; @@ -448,7 +455,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = "$(inherited)"; SDKROOT = iphoneos; @@ -458,7 +465,7 @@ }; 2366835B1B94236000E22B59 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 46F3CBEBAF0574A168CDA14B /* Pods-csnews.debug.xcconfig */; + baseConfigurationReference = 5DE52CCC0FDBD20638AD5879 /* Pods-csnews.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_RESOURCE_RULES_PATH = "$(SDKROOT)/ResourceRules.plist"; @@ -472,7 +479,7 @@ "$(PROJECT_DIR)/csnews", ); INFOPLIST_FILE = csnews/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( "$(inherited)", @@ -487,7 +494,7 @@ }; 2366835C1B94236000E22B59 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 90B379CA8D1D1CC158A49183 /* Pods-csnews.release.xcconfig */; + baseConfigurationReference = 67999A261DD8592B05C37EDD /* Pods-csnews.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_RESOURCE_RULES_PATH = "$(SDKROOT)/ResourceRules.plist"; @@ -497,7 +504,7 @@ "$(PROJECT_DIR)/csnews", ); INFOPLIST_FILE = csnews/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; OTHER_LDFLAGS = ( "$(inherited)", diff --git a/csnews/NewsCell.swift b/csnews/NewsCell.swift index d09f6fc..a6a6a88 100644 --- a/csnews/NewsCell.swift +++ b/csnews/NewsCell.swift @@ -58,12 +58,15 @@ class NewsCell: UITableViewCell { ] self.bannerImageView.contentMode = UIView.ContentMode.scaleAspectFill self.bannerImageView.clipsToBounds = true - let url = URL(string: AppDelegate.sharedSite().imageTransform(withUrl: imageURLString, andParams: param))! - self.bannerImageView.kf.setImage(with: url, - placeholder: nil, - options: [.transition(.fade(1))], - progressBlock: nil, - completionHandler: nil) + if let stringParam = param as? [String: Any]{ + let url = URL(string: AppDelegate.sharedSite().imageTransform(withUrl: imageURLString, andParams: stringParam))! + self.bannerImageView.kf.setImage(with: url, + placeholder: nil, + options: [.transition(.fade(1))], + progressBlock: nil, + completionHandler: nil)} else{ + print("Error: param dictionary keys are not all Strings. Cannot generate image URL.") + } }else{ self.bannerImageView.image = UIImage(named: "thumbImage"); } diff --git a/csnews/NewsDetailController.swift b/csnews/NewsDetailController.swift index ff2a05f..9738699 100644 --- a/csnews/NewsDetailController.swift +++ b/csnews/NewsDetailController.swift @@ -44,13 +44,17 @@ class NewsDetailController: UIViewController, UIWebViewDelegate { AnyHashable("height"): self.bannerImageView.frame.size.height, AnyHashable("fit"): "crop" ] - let url = URL(string: AppDelegate.sharedSite().imageTransform(withUrl: imageURLString, andParams: param))! -// let url = URL(string: imageURLString)! - self.bannerImageView.kf.setImage(with: url, - placeholder: nil, - options: [.transition(.fade(1))], - progressBlock: nil, - completionHandler: nil) + if let stringParam = param as? [String: Any]{ + let url = URL(string: AppDelegate.sharedSite().imageTransform(withUrl: imageURLString, andParams: stringParam))! + // let url = URL(string: imageURLString)! + self.bannerImageView.kf.setImage(with: url, + placeholder: nil, + options: [.transition(.fade(1))], + progressBlock: nil, + completionHandler: nil)} + else{ + print("Error: param dictionary keys are not all Strings. Cannot generate image URL.") + } }else{ self.bannerImageView.image = UIImage(named: "thumbImage"); } diff --git a/csnews/TopNewsController.swift b/csnews/TopNewsController.swift index 5a032d1..6de4c74 100644 --- a/csnews/TopNewsController.swift +++ b/csnews/TopNewsController.swift @@ -242,7 +242,7 @@ class TopNewsController: UIViewController, UITableViewDataSource, UITableViewDel categories.enumerateObjects({ (obj, index, stop) -> Void in var categoryUID:String = "" let category:Entry = AppDelegate.sharedSite().contentType(withName: "category").entry(withUID: categoryUID) - category.configure(with: obj as! [AnyHashable: Any]) + category.configure(with: obj as! [String: Any]) categoryUID = category.uid if(categoryUID == self.selectedCategoryUId){ retVal = true @@ -294,13 +294,18 @@ class TopNewsController: UIViewController, UITableViewDataSource, UITableViewDel AnyHashable("height"): self.bannerImage.frame.size.height, AnyHashable("fit"): "crop" ] - let url = URL(string: AppDelegate.sharedSite().imageTransform(withUrl: imageURLString, andParams: param))! - self.bannerImage.kf.setImage(with: url, - placeholder: nil, - options: [.transition(.fade(1))], - progressBlock: nil, - completionHandler: nil) - }else{ + if let stringParam = param as? [String: Any] { + let url = URL(string: AppDelegate.sharedSite().imageTransform(withUrl: imageURLString, andParams: stringParam))! + self.bannerImage.kf.setImage(with: url, + placeholder: nil, + options: [.transition(.fade(1))], + progressBlock: nil, + completionHandler: nil) + } else{ + print("Error: param dictionary keys are not all Strings. Cannot generate image URL.") + } + + } else { self.bannerImage.image = UIImage(named: "thumbImage"); } }else { From 7d77f0c6410f05aed297080ec021155f0e29365c Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Thu, 17 Jul 2025 13:12:56 +0530 Subject: [PATCH 10/18] Update project configuration by adding csnews.xcodeproj to Talisman ignore list, removing post-install script from Podfile, and updating Info.plist for bundle identifier. Enhance CodeQL workflow with Ruby setup and CocoaPods installation steps. --- .github/workflows/codeql-analysis.yml | 21 +-- .talismanrc | 2 + Podfile | 8 - Podfile.lock | 2 +- csnews.xcodeproj/project.pbxproj | 137 +++++++++++++----- .../xcshareddata/xcschemes/csnews.xcscheme | 31 ++-- csnews/Info.plist | 2 +- 7 files changed, 128 insertions(+), 75 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 978a01c..d119401 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -49,23 +49,25 @@ jobs: # 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 - + - name: Set up Ruby (for CocoaPods, optional but recommended) + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.2' + + - name: Install CocoaPods + run: sudo gem install cocoapods # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) # - name: Autobuild # uses: github/codeql-action/autobuild@v3 - # Manual build step for Swift/iOS - - name: List available schemes - run: xcodebuild -list - - - name: List available simulators - run: xcrun simctl list devices - - - name: Install CocoaPods dependencies + - name: Install dependencies run: pod install + - name: Clean Derived Data + run: rm -rf ~/Library/Developer/Xcode/DerivedData + - name: Build with xcodebuild run: | xcodebuild -workspace csnews.xcworkspace \ @@ -73,7 +75,6 @@ jobs: -sdk iphonesimulator \ -destination 'platform=iOS Simulator,OS=latest,name=iPhone SE (3rd generation)' \ build CODE_SIGNING_ALLOWED=NO - -verbose # ℹ️ Command-line programs to run using the OS shell. diff --git a/.talismanrc b/.talismanrc index ccb4ad3..9846776 100644 --- a/.talismanrc +++ b/.talismanrc @@ -4,6 +4,8 @@ fileignoreconfig: checksum: e725ff07d9c1bc643171e63e63e8de446017be17e9164909ec3a1b2585fe45a3 - filename: Podfile.lock checksum: 1e736dd1291867ab01f6557552c7fa275cce09f83fe85d91530a8848dee1e991 +- filename: csnews.xcodeproj/project.pbxproj + checksum: 4d045dea691bb025be52852918b463a973e3a3a9feea258782be9680b3fe44a0 ignore_detectors: - filecontent version: "1.0" \ No newline at end of file diff --git a/Podfile b/Podfile index fe5ba1d..e48afea 100644 --- a/Podfile +++ b/Podfile @@ -8,11 +8,3 @@ target 'csnews' do pod 'Contentstack', '~> 3.15.0' end -post_install do |installer| - installer.pods_project.targets.each do |target| - target.build_configurations.each do |config| - config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64' - config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0' - end - end -end diff --git a/Podfile.lock b/Podfile.lock index 22caec4..d856fb8 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -21,6 +21,6 @@ SPEC CHECKSUMS: Kingfisher: ff0d31a1f07bdff6a1ebb3ba08b8e6e567b6500c NVActivityIndicatorView: fe52a6a68664c2df8991d7d9e3d86d8d19453c53 -PODFILE CHECKSUM: 83aa797e71758f068a5c2d8bfddeec8b600e21b1 +PODFILE CHECKSUM: 885c768b70c7585e4c3fb57b09890444711c81ef COCOAPODS: 1.16.2 diff --git a/csnews.xcodeproj/project.pbxproj b/csnews.xcodeproj/project.pbxproj index 42dc34a..810b47b 100644 --- a/csnews.xcodeproj/project.pbxproj +++ b/csnews.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -24,9 +24,25 @@ 23CDAA2F1BCFA7380066A61A /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 23CDAA311BCFA7380066A61A /* Localizable.strings */; }; 23EB41DA1BA3448200600155 /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23EB41D91BA3448200600155 /* Extensions.swift */; }; 23EB41DC1BA34BEA00600155 /* TopNewsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23EB41DB1BA34BEA00600155 /* TopNewsController.swift */; }; - B2B9A4EF4D2377FDCC4DC307 /* Pods_csnews.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 77EB7CEDABDD6C1704A49259 /* Pods_csnews.framework */; }; + 670D74D12E28D589009D81DB /* Kingfisher.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 670D74D02E28D589009D81DB /* Kingfisher.framework */; }; + 670D74D22E28D589009D81DB /* Kingfisher.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 670D74D02E28D589009D81DB /* Kingfisher.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + FEC47A810493F641BA98203A /* Pods_csnews.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45CD903D462E630E72EBBFF4 /* Pods_csnews.framework */; }; /* End PBXBuildFile section */ +/* Begin PBXCopyFilesBuildPhase section */ + 670D74D32E28D589009D81DB /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 670D74D22E28D589009D81DB /* Kingfisher.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 230405CB1BA2FA2300CEE159 /* EmptySegue.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EmptySegue.swift; sourceTree = ""; }; 230405CD1BA2FCF700CEE159 /* CategoryController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CategoryController.swift; sourceTree = ""; }; @@ -55,9 +71,12 @@ 23EB41D91BA3448200600155 /* Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Extensions.swift; sourceTree = ""; }; 23EB41DB1BA34BEA00600155 /* TopNewsController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TopNewsController.swift; sourceTree = ""; }; 3752A72C1C3ABB102F61B165 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 5DE52CCC0FDBD20638AD5879 /* Pods-csnews.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-csnews.debug.xcconfig"; path = "Target Support Files/Pods-csnews/Pods-csnews.debug.xcconfig"; sourceTree = ""; }; - 67999A261DD8592B05C37EDD /* Pods-csnews.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-csnews.release.xcconfig"; path = "Target Support Files/Pods-csnews/Pods-csnews.release.xcconfig"; sourceTree = ""; }; - 77EB7CEDABDD6C1704A49259 /* Pods_csnews.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_csnews.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 45CD903D462E630E72EBBFF4 /* Pods_csnews.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_csnews.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 56C2E138068C8A83DED0B773 /* Pods-csnews.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-csnews.release.xcconfig"; path = "Target Support Files/Pods-csnews/Pods-csnews.release.xcconfig"; sourceTree = ""; }; + 670D74CC2E28D2E1009D81DB /* Kingfisher.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Kingfisher.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 670D74D02E28D589009D81DB /* Kingfisher.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Kingfisher.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 67B83A2B2E28C98E004EA34D /* Kingfisher.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Kingfisher.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7BA3261AAC65FE64C93ADC2E /* Pods-csnews.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-csnews.debug.xcconfig"; path = "Target Support Files/Pods-csnews/Pods-csnews.debug.xcconfig"; sourceTree = ""; }; BB1B2DFCFB656C3EEFF758AF /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -66,10 +85,11 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 670D74D12E28D589009D81DB /* Kingfisher.framework in Frameworks */, 236683671B94252300E22B59 /* MobileCoreServices.framework in Frameworks */, 236683651B94251C00E22B59 /* Security.framework in Frameworks */, 236683631B94250700E22B59 /* SystemConfiguration.framework in Frameworks */, - B2B9A4EF4D2377FDCC4DC307 /* Pods_csnews.framework in Frameworks */, + FEC47A810493F641BA98203A /* Pods_csnews.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -181,11 +201,14 @@ 238F12911BBD031100FADACB /* Frameworks */ = { isa = PBXGroup; children = ( + 670D74D02E28D589009D81DB /* Kingfisher.framework */, + 670D74CC2E28D2E1009D81DB /* Kingfisher.framework */, + 67B83A2B2E28C98E004EA34D /* Kingfisher.framework */, 236683621B94250700E22B59 /* SystemConfiguration.framework */, 236683661B94252300E22B59 /* MobileCoreServices.framework */, 236683641B94251C00E22B59 /* Security.framework */, 3752A72C1C3ABB102F61B165 /* Pods.framework */, - 77EB7CEDABDD6C1704A49259 /* Pods_csnews.framework */, + 45CD903D462E630E72EBBFF4 /* Pods_csnews.framework */, ); name = Frameworks; sourceTree = ""; @@ -201,10 +224,9 @@ A42B63567521BA07A80D72A0 /* Pods */ = { isa = PBXGroup; children = ( - 5DE52CCC0FDBD20638AD5879 /* Pods-csnews.debug.xcconfig */, - 67999A261DD8592B05C37EDD /* Pods-csnews.release.xcconfig */, + 7BA3261AAC65FE64C93ADC2E /* Pods-csnews.debug.xcconfig */, + 56C2E138068C8A83DED0B773 /* Pods-csnews.release.xcconfig */, ); - name = Pods; path = Pods; sourceTree = ""; }; @@ -215,11 +237,12 @@ isa = PBXNativeTarget; buildConfigurationList = 2366835A1B94236000E22B59 /* Build configuration list for PBXNativeTarget "csnews" */; buildPhases = ( - 5E6DB13D8B4F33742AF05DF8 /* [CP] Check Pods Manifest.lock */, + 7B6C84F7D68A3AEFD0E09B49 /* [CP] Check Pods Manifest.lock */, 236683371B94235F00E22B59 /* Sources */, 236683381B94235F00E22B59 /* Frameworks */, 236683391B94235F00E22B59 /* Resources */, - 814972872F7AC4FB3AE46596 /* [CP] Embed Pods Frameworks */, + 670D74D32E28D589009D81DB /* Embed Frameworks */, + 5EA3DFEAA3CF484B3D50EFE5 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -236,9 +259,10 @@ 236683331B94235F00E22B59 /* Project object */ = { isa = PBXProject; attributes = { + BuildIndependentTargetsInParallel = YES; LastSwiftMigration = 0700; LastSwiftUpdateCheck = 0700; - LastUpgradeCheck = 0630; + LastUpgradeCheck = 1640; ORGANIZATIONNAME = Reefaq; TargetAttributes = { 2366833A1B94235F00E22B59 = { @@ -249,10 +273,9 @@ }; buildConfigurationList = 236683361B94235F00E22B59 /* Build configuration list for PBXProject "csnews" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - English, en, Base, "hi-IN", @@ -282,48 +305,48 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 5E6DB13D8B4F33742AF05DF8 /* [CP] Check Pods Manifest.lock */ = { + 5EA3DFEAA3CF484B3D50EFE5 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-csnews/Pods-csnews-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/Contentstack/Contentstack.framework", + "${BUILT_PRODUCTS_DIR}/Kingfisher/Kingfisher.framework", + "${BUILT_PRODUCTS_DIR}/NVActivityIndicatorView/NVActivityIndicatorView.framework", ); + name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-csnews-checkManifestLockResult.txt", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Contentstack.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Kingfisher.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/NVActivityIndicatorView.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-csnews/Pods-csnews-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 814972872F7AC4FB3AE46596 /* [CP] Embed Pods Frameworks */ = { + 7B6C84F7D68A3AEFD0E09B49 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-csnews/Pods-csnews-frameworks.sh", - "${BUILT_PRODUCTS_DIR}/Contentstack/Contentstack.framework", - "${BUILT_PRODUCTS_DIR}/Kingfisher/Kingfisher.framework", - "${BUILT_PRODUCTS_DIR}/NVActivityIndicatorView/NVActivityIndicatorView.framework", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "[CP] Embed Pods Frameworks"; outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Contentstack.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Kingfisher.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/NVActivityIndicatorView.framework", + "$(DERIVED_FILE_DIR)/Pods-csnews-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-csnews/Pods-csnews-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -384,23 +407,37 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = 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_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 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_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = 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; CODE_SIGN_RESOURCE_RULES_PATH = "$(SDKROOT)/ResourceRules.plist"; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -429,17 +466,29 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = 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_DIRECT_OBJC_ISA_USAGE = YES_ERROR; 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_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = 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; CODE_SIGN_RESOURCE_RULES_PATH = "$(SDKROOT)/ResourceRules.plist"; @@ -447,6 +496,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -459,13 +509,14 @@ MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = "$(inherited)"; SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; VALIDATE_PRODUCT = YES; }; name = Release; }; 2366835B1B94236000E22B59 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5DE52CCC0FDBD20638AD5879 /* Pods-csnews.debug.xcconfig */; + baseConfigurationReference = 7BA3261AAC65FE64C93ADC2E /* Pods-csnews.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_RESOURCE_RULES_PATH = "$(SDKROOT)/ResourceRules.plist"; @@ -480,11 +531,15 @@ ); INFOPLIST_FILE = csnews/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 15.6; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", ); + PRODUCT_BUNDLE_IDENTIFIER = "com.raweng.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = ./csnews/BridgeHeader.h; SWIFT_SWIFT3_OBJC_INFERENCE = On; @@ -494,7 +549,7 @@ }; 2366835C1B94236000E22B59 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 67999A261DD8592B05C37EDD /* Pods-csnews.release.xcconfig */; + baseConfigurationReference = 56C2E138068C8A83DED0B773 /* Pods-csnews.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_RESOURCE_RULES_PATH = "$(SDKROOT)/ResourceRules.plist"; @@ -505,11 +560,15 @@ ); INFOPLIST_FILE = csnews/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 15.6; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", ); + PRODUCT_BUNDLE_IDENTIFIER = "com.raweng.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = ./csnews/BridgeHeader.h; SWIFT_SWIFT3_OBJC_INFERENCE = On; diff --git a/csnews.xcodeproj/xcshareddata/xcschemes/csnews.xcscheme b/csnews.xcodeproj/xcshareddata/xcschemes/csnews.xcscheme index 8ff5abc..b9b59d4 100644 --- a/csnews.xcodeproj/xcshareddata/xcschemes/csnews.xcscheme +++ b/csnews.xcodeproj/xcshareddata/xcschemes/csnews.xcscheme @@ -1,6 +1,6 @@ + shouldUseLaunchSchemeArgsEnv = "YES"> + + + + @@ -53,24 +62,16 @@ - - - - @@ -82,14 +83,12 @@ ReferencedContainer = "container:csnews.xcodeproj"> - - diff --git a/csnews/Info.plist b/csnews/Info.plist index 9a74002..0ac2893 100644 --- a/csnews/Info.plist +++ b/csnews/Info.plist @@ -9,7 +9,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - com.raweng.$(PRODUCT_NAME:rfc1034identifier) + $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleInfoDictionaryVersion 6.0 CFBundleName From f51a44006778db4d6aa73eabf2be11ccef09d645 Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Thu, 17 Jul 2025 13:19:52 +0530 Subject: [PATCH 11/18] Add csnews.xcscheme and Podfile.lock to Talisman ignore list with updated checksums --- .talismanrc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.talismanrc b/.talismanrc index 9846776..057106b 100644 --- a/.talismanrc +++ b/.talismanrc @@ -6,6 +6,10 @@ fileignoreconfig: checksum: 1e736dd1291867ab01f6557552c7fa275cce09f83fe85d91530a8848dee1e991 - filename: csnews.xcodeproj/project.pbxproj checksum: 4d045dea691bb025be52852918b463a973e3a3a9feea258782be9680b3fe44a0 +- filename: csnews.xcodeproj/xcshareddata/xcschemes/csnews.xcscheme + checksum: d3b2a9aaeb2194c3688178a88fed42399c2ce11967141267da2fa4ca352274ae +- filename: Podfile.lock + checksum: 8092cb6bb4ccbf7b384dfacdae70eb97651522d41ccf1bb95cd2a4f3f3133907 ignore_detectors: - filecontent version: "1.0" \ No newline at end of file From 26a1032778b67cf61aff57f63d5777998dd2399c Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Thu, 17 Jul 2025 14:45:51 +0530 Subject: [PATCH 12/18] Remove Kingfisher.framework references from project.pbxproj, including build phases and file references, to streamline project configuration. --- csnews.xcodeproj/project.pbxproj | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/csnews.xcodeproj/project.pbxproj b/csnews.xcodeproj/project.pbxproj index 810b47b..ba0e517 100644 --- a/csnews.xcodeproj/project.pbxproj +++ b/csnews.xcodeproj/project.pbxproj @@ -24,25 +24,9 @@ 23CDAA2F1BCFA7380066A61A /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 23CDAA311BCFA7380066A61A /* Localizable.strings */; }; 23EB41DA1BA3448200600155 /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23EB41D91BA3448200600155 /* Extensions.swift */; }; 23EB41DC1BA34BEA00600155 /* TopNewsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23EB41DB1BA34BEA00600155 /* TopNewsController.swift */; }; - 670D74D12E28D589009D81DB /* Kingfisher.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 670D74D02E28D589009D81DB /* Kingfisher.framework */; }; - 670D74D22E28D589009D81DB /* Kingfisher.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 670D74D02E28D589009D81DB /* Kingfisher.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; FEC47A810493F641BA98203A /* Pods_csnews.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45CD903D462E630E72EBBFF4 /* Pods_csnews.framework */; }; /* End PBXBuildFile section */ -/* Begin PBXCopyFilesBuildPhase section */ - 670D74D32E28D589009D81DB /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 670D74D22E28D589009D81DB /* Kingfisher.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ 230405CB1BA2FA2300CEE159 /* EmptySegue.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EmptySegue.swift; sourceTree = ""; }; 230405CD1BA2FCF700CEE159 /* CategoryController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CategoryController.swift; sourceTree = ""; }; @@ -85,7 +69,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 670D74D12E28D589009D81DB /* Kingfisher.framework in Frameworks */, 236683671B94252300E22B59 /* MobileCoreServices.framework in Frameworks */, 236683651B94251C00E22B59 /* Security.framework in Frameworks */, 236683631B94250700E22B59 /* SystemConfiguration.framework in Frameworks */, @@ -241,7 +224,6 @@ 236683371B94235F00E22B59 /* Sources */, 236683381B94235F00E22B59 /* Frameworks */, 236683391B94235F00E22B59 /* Resources */, - 670D74D32E28D589009D81DB /* Embed Frameworks */, 5EA3DFEAA3CF484B3D50EFE5 /* [CP] Embed Pods Frameworks */, ); buildRules = ( From b04b2343d6b260ddb3e1c40e6caef36e7aa0fb62 Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Thu, 17 Jul 2025 14:46:55 +0530 Subject: [PATCH 13/18] Remove additional Kingfisher.framework references from project.pbxproj to further streamline project configuration. --- csnews.xcodeproj/project.pbxproj | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/csnews.xcodeproj/project.pbxproj b/csnews.xcodeproj/project.pbxproj index ba0e517..6f55453 100644 --- a/csnews.xcodeproj/project.pbxproj +++ b/csnews.xcodeproj/project.pbxproj @@ -57,9 +57,7 @@ 3752A72C1C3ABB102F61B165 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 45CD903D462E630E72EBBFF4 /* Pods_csnews.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_csnews.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 56C2E138068C8A83DED0B773 /* Pods-csnews.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-csnews.release.xcconfig"; path = "Target Support Files/Pods-csnews/Pods-csnews.release.xcconfig"; sourceTree = ""; }; - 670D74CC2E28D2E1009D81DB /* Kingfisher.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Kingfisher.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 670D74D02E28D589009D81DB /* Kingfisher.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Kingfisher.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 67B83A2B2E28C98E004EA34D /* Kingfisher.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Kingfisher.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7BA3261AAC65FE64C93ADC2E /* Pods-csnews.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-csnews.debug.xcconfig"; path = "Target Support Files/Pods-csnews/Pods-csnews.debug.xcconfig"; sourceTree = ""; }; BB1B2DFCFB656C3EEFF758AF /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ From 59e2a520e7ca38fced746528c64007df36f579d0 Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Thu, 17 Jul 2025 14:53:22 +0530 Subject: [PATCH 14/18] Enhance Podfile with post-install script to exclude arm64 architecture for iOS Simulator, set deployment target to 15.0, and remove _CodeSignature from frameworks to resolve rsync sandbox errors. Update Podfile.lock checksum. --- Podfile | 13 +++++++++++++ Podfile.lock | 2 +- csnews.xcodeproj/project.pbxproj | 32 ++++++++++++++------------------ 3 files changed, 28 insertions(+), 19 deletions(-) diff --git a/Podfile b/Podfile index e48afea..cfc69eb 100644 --- a/Podfile +++ b/Podfile @@ -8,3 +8,16 @@ target 'csnews' do pod 'Contentstack', '~> 3.15.0' end +post_install do |installer| + installer.pods_project.targets.each do |target| + target.build_configurations.each do |config| + config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64' + config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0' + end + end + + # Remove _CodeSignature from all frameworks (fixes rsync sandbox error) + Dir.glob('Pods/**/*.framework/_CodeSignature').each do |code_signature| + FileUtils.rm_rf(code_signature) + end + end diff --git a/Podfile.lock b/Podfile.lock index d856fb8..0af36ec 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -21,6 +21,6 @@ SPEC CHECKSUMS: Kingfisher: ff0d31a1f07bdff6a1ebb3ba08b8e6e567b6500c NVActivityIndicatorView: fe52a6a68664c2df8991d7d9e3d86d8d19453c53 -PODFILE CHECKSUM: 885c768b70c7585e4c3fb57b09890444711c81ef +PODFILE CHECKSUM: b2454119c050e263e2a299a5738b04b422663bf7 COCOAPODS: 1.16.2 diff --git a/csnews.xcodeproj/project.pbxproj b/csnews.xcodeproj/project.pbxproj index 6f55453..fe96743 100644 --- a/csnews.xcodeproj/project.pbxproj +++ b/csnews.xcodeproj/project.pbxproj @@ -24,10 +24,11 @@ 23CDAA2F1BCFA7380066A61A /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 23CDAA311BCFA7380066A61A /* Localizable.strings */; }; 23EB41DA1BA3448200600155 /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23EB41D91BA3448200600155 /* Extensions.swift */; }; 23EB41DC1BA34BEA00600155 /* TopNewsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23EB41DB1BA34BEA00600155 /* TopNewsController.swift */; }; - FEC47A810493F641BA98203A /* Pods_csnews.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 45CD903D462E630E72EBBFF4 /* Pods_csnews.framework */; }; + 9318C7FA2EE89CCDB2776A9E /* Pods_csnews.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 358C8114D43735C91EFCCC6C /* Pods_csnews.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 176B4C7FB6C99113856AC22E /* Pods-csnews.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-csnews.debug.xcconfig"; path = "Target Support Files/Pods-csnews/Pods-csnews.debug.xcconfig"; sourceTree = ""; }; 230405CB1BA2FA2300CEE159 /* EmptySegue.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EmptySegue.swift; sourceTree = ""; }; 230405CD1BA2FCF700CEE159 /* CategoryController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CategoryController.swift; sourceTree = ""; }; 231443E51BA321960040250B /* MSSlidingPanelController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MSSlidingPanelController.h; sourceTree = ""; }; @@ -54,11 +55,9 @@ 23CDAA361BCFB96A0066A61A /* hi-IN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "hi-IN"; path = "hi-IN.lproj/Localizable.strings"; sourceTree = ""; }; 23EB41D91BA3448200600155 /* Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Extensions.swift; sourceTree = ""; }; 23EB41DB1BA34BEA00600155 /* TopNewsController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TopNewsController.swift; sourceTree = ""; }; + 358C8114D43735C91EFCCC6C /* Pods_csnews.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_csnews.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3752A72C1C3ABB102F61B165 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 45CD903D462E630E72EBBFF4 /* Pods_csnews.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_csnews.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 56C2E138068C8A83DED0B773 /* Pods-csnews.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-csnews.release.xcconfig"; path = "Target Support Files/Pods-csnews/Pods-csnews.release.xcconfig"; sourceTree = ""; }; - - 7BA3261AAC65FE64C93ADC2E /* Pods-csnews.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-csnews.debug.xcconfig"; path = "Target Support Files/Pods-csnews/Pods-csnews.debug.xcconfig"; sourceTree = ""; }; + 49AFDC7F1D59B26EE1E8E3DB /* Pods-csnews.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-csnews.release.xcconfig"; path = "Target Support Files/Pods-csnews/Pods-csnews.release.xcconfig"; sourceTree = ""; }; BB1B2DFCFB656C3EEFF758AF /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -70,7 +69,7 @@ 236683671B94252300E22B59 /* MobileCoreServices.framework in Frameworks */, 236683651B94251C00E22B59 /* Security.framework in Frameworks */, 236683631B94250700E22B59 /* SystemConfiguration.framework in Frameworks */, - FEC47A810493F641BA98203A /* Pods_csnews.framework in Frameworks */, + 9318C7FA2EE89CCDB2776A9E /* Pods_csnews.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -182,14 +181,11 @@ 238F12911BBD031100FADACB /* Frameworks */ = { isa = PBXGroup; children = ( - 670D74D02E28D589009D81DB /* Kingfisher.framework */, - 670D74CC2E28D2E1009D81DB /* Kingfisher.framework */, - 67B83A2B2E28C98E004EA34D /* Kingfisher.framework */, 236683621B94250700E22B59 /* SystemConfiguration.framework */, 236683661B94252300E22B59 /* MobileCoreServices.framework */, 236683641B94251C00E22B59 /* Security.framework */, 3752A72C1C3ABB102F61B165 /* Pods.framework */, - 45CD903D462E630E72EBBFF4 /* Pods_csnews.framework */, + 358C8114D43735C91EFCCC6C /* Pods_csnews.framework */, ); name = Frameworks; sourceTree = ""; @@ -205,8 +201,8 @@ A42B63567521BA07A80D72A0 /* Pods */ = { isa = PBXGroup; children = ( - 7BA3261AAC65FE64C93ADC2E /* Pods-csnews.debug.xcconfig */, - 56C2E138068C8A83DED0B773 /* Pods-csnews.release.xcconfig */, + 176B4C7FB6C99113856AC22E /* Pods-csnews.debug.xcconfig */, + 49AFDC7F1D59B26EE1E8E3DB /* Pods-csnews.release.xcconfig */, ); path = Pods; sourceTree = ""; @@ -218,11 +214,11 @@ isa = PBXNativeTarget; buildConfigurationList = 2366835A1B94236000E22B59 /* Build configuration list for PBXNativeTarget "csnews" */; buildPhases = ( - 7B6C84F7D68A3AEFD0E09B49 /* [CP] Check Pods Manifest.lock */, + A6F573DBA6DEB45FA190CD5F /* [CP] Check Pods Manifest.lock */, 236683371B94235F00E22B59 /* Sources */, 236683381B94235F00E22B59 /* Frameworks */, 236683391B94235F00E22B59 /* Resources */, - 5EA3DFEAA3CF484B3D50EFE5 /* [CP] Embed Pods Frameworks */, + 607FD467A9923BFDE1AA371F /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -285,7 +281,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 5EA3DFEAA3CF484B3D50EFE5 /* [CP] Embed Pods Frameworks */ = { + 607FD467A9923BFDE1AA371F /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -307,7 +303,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-csnews/Pods-csnews-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - 7B6C84F7D68A3AEFD0E09B49 /* [CP] Check Pods Manifest.lock */ = { + A6F573DBA6DEB45FA190CD5F /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -496,7 +492,7 @@ }; 2366835B1B94236000E22B59 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7BA3261AAC65FE64C93ADC2E /* Pods-csnews.debug.xcconfig */; + baseConfigurationReference = 176B4C7FB6C99113856AC22E /* Pods-csnews.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_RESOURCE_RULES_PATH = "$(SDKROOT)/ResourceRules.plist"; @@ -529,7 +525,7 @@ }; 2366835C1B94236000E22B59 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 56C2E138068C8A83DED0B773 /* Pods-csnews.release.xcconfig */; + baseConfigurationReference = 49AFDC7F1D59B26EE1E8E3DB /* Pods-csnews.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_RESOURCE_RULES_PATH = "$(SDKROOT)/ResourceRules.plist"; From 432085eb5d58ba6ceec17a7a7d951de29b66db33 Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Mon, 21 Jul 2025 12:38:46 +0530 Subject: [PATCH 15/18] Update Podfile to set iOS deployment target to 15.6, enhance CodeQL workflow with Xcode setup and additional simulator checks, and streamline project.pbxproj by simplifying FRAMEWORK_SEARCH_PATHS. Add csnews.xcodeproj to Talisman ignore list. --- .github/workflows/codeql-analysis.yml | 18 +++++++++++++++++- .talismanrc | 2 ++ Podfile | 4 ++-- csnews.xcodeproj/project.pbxproj | 15 +++------------ 4 files changed, 24 insertions(+), 15 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index d119401..0306348 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -49,6 +49,12 @@ jobs: # 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 + + - name: Set up Xcode + uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: 'latest-stable' + - name: Set up Ruby (for CocoaPods, optional but recommended) uses: ruby/setup-ruby@v1 with: @@ -68,12 +74,22 @@ jobs: - name: Clean Derived Data run: rm -rf ~/Library/Developer/Xcode/DerivedData + - name: List available simulators + run: xcrun simctl list devices available + + - name: Show Xcode version + run: xcodebuild -version + + - name: Show available SDKs + run: xcodebuild -showsdks + - name: Build with xcodebuild run: | xcodebuild -workspace csnews.xcworkspace \ -scheme csnews \ -sdk iphonesimulator \ - -destination 'platform=iOS Simulator,OS=latest,name=iPhone SE (3rd generation)' \ + -destination 'platform=iOS Simulator,OS=latest,name=iPhone 15' \ + -configuration Debug \ build CODE_SIGNING_ALLOWED=NO diff --git a/.talismanrc b/.talismanrc index 057106b..396e370 100644 --- a/.talismanrc +++ b/.talismanrc @@ -10,6 +10,8 @@ fileignoreconfig: checksum: d3b2a9aaeb2194c3688178a88fed42399c2ce11967141267da2fa4ca352274ae - filename: Podfile.lock checksum: 8092cb6bb4ccbf7b384dfacdae70eb97651522d41ccf1bb95cd2a4f3f3133907 +- filename: csnews.xcodeproj/project.pbxproj + checksum: aac67b934c7066328ee9b6d00d45e53fcf8f1ce8b2b950aa99f18ae5f2752673 ignore_detectors: - filecontent version: "1.0" \ No newline at end of file diff --git a/Podfile b/Podfile index cfc69eb..97baf6d 100644 --- a/Podfile +++ b/Podfile @@ -1,5 +1,5 @@ source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '15.0' +platform :ios, '15.6' use_frameworks! target 'csnews' do @@ -12,7 +12,7 @@ post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64' - config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.0' + config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.6' end end diff --git a/csnews.xcodeproj/project.pbxproj b/csnews.xcodeproj/project.pbxproj index fe96743..cf361df 100644 --- a/csnews.xcodeproj/project.pbxproj +++ b/csnews.xcodeproj/project.pbxproj @@ -497,14 +497,8 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_RESOURCE_RULES_PATH = "$(SDKROOT)/ResourceRules.plist"; ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/csnews", - ); - "FRAMEWORK_SEARCH_PATHS[arch=*]" = ( - "$(inherited)", - "$(PROJECT_DIR)/csnews", - ); + FRAMEWORK_SEARCH_PATHS = "$(inherited)"; + "FRAMEWORK_SEARCH_PATHS[arch=*]" = "$(inherited)"; INFOPLIST_FILE = csnews/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( @@ -530,10 +524,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_RESOURCE_RULES_PATH = "$(SDKROOT)/ResourceRules.plist"; ENABLE_BITCODE = NO; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/csnews", - ); + FRAMEWORK_SEARCH_PATHS = "$(inherited)"; INFOPLIST_FILE = csnews/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 15.6; LD_RUNPATH_SEARCH_PATHS = ( From e18946c21543a6cb1f66af52755a3b41be0a7e6c Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Mon, 21 Jul 2025 13:28:39 +0530 Subject: [PATCH 16/18] Update CodeQL workflow to specify Xcode version 15.2, add step to list workspace schemes, and enhance build command with additional flags for provisioning and validation. --- .github/workflows/codeql-analysis.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 0306348..f165b63 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -53,7 +53,7 @@ jobs: - name: Set up Xcode uses: maxim-lobanov/setup-xcode@v1 with: - xcode-version: 'latest-stable' + xcode-version: '15.2' - name: Set up Ruby (for CocoaPods, optional but recommended) uses: ruby/setup-ruby@v1 @@ -83,14 +83,22 @@ jobs: - name: Show available SDKs run: xcodebuild -showsdks + - name: List workspace schemes + run: xcodebuild -list -workspace csnews.xcworkspace + - name: Build with xcodebuild run: | xcodebuild -workspace csnews.xcworkspace \ -scheme csnews \ -sdk iphonesimulator \ - -destination 'platform=iOS Simulator,OS=latest,name=iPhone 15' \ + -destination 'platform=iOS Simulator,OS=latest' \ -configuration Debug \ - build CODE_SIGNING_ALLOWED=NO + build CODE_SIGNING_ALLOWED=NO \ + -allowProvisioningUpdates \ + -allowProvisioningDeviceRegistration \ + -skipPackagePluginValidation \ + -skipMacroValidation \ + SWIFT_VERSION=4.2 # ℹ️ Command-line programs to run using the OS shell. From 9d78ffcac77023efdca5682c389adfde2c2238f7 Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Mon, 21 Jul 2025 13:49:00 +0530 Subject: [PATCH 17/18] Update CodeQL workflow to downgrade Xcode version to 13.4, reintroduce autobuild step, and modify fallback build command for improved error handling. --- .github/workflows/codeql-analysis.yml | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index f165b63..57957a1 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -53,7 +53,7 @@ jobs: - name: Set up Xcode uses: maxim-lobanov/setup-xcode@v1 with: - xcode-version: '15.2' + xcode-version: '13.4' - name: Set up Ruby (for CocoaPods, optional but recommended) uses: ruby/setup-ruby@v1 @@ -63,11 +63,6 @@ jobs: - name: Install CocoaPods run: sudo gem install cocoapods - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - # - name: Autobuild - # uses: github/codeql-action/autobuild@v3 - - name: Install dependencies run: pod install @@ -86,7 +81,14 @@ jobs: - name: List workspace schemes run: xcodebuild -list -workspace csnews.xcworkspace - - name: Build with xcodebuild + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v3 + + # Manual build as fallback if autobuild fails + - name: Build with xcodebuild (fallback) + if: failure() run: | xcodebuild -workspace csnews.xcworkspace \ -scheme csnews \ @@ -94,11 +96,8 @@ jobs: -destination 'platform=iOS Simulator,OS=latest' \ -configuration Debug \ build CODE_SIGNING_ALLOWED=NO \ - -allowProvisioningUpdates \ - -allowProvisioningDeviceRegistration \ - -skipPackagePluginValidation \ - -skipMacroValidation \ - SWIFT_VERSION=4.2 + SWIFT_VERSION=4.2 \ + SWIFT_OPTIMIZATION_LEVEL=-Onone # ℹ️ Command-line programs to run using the OS shell. From 11e808f3c3180d308996d8066e4d1adc7be6a851 Mon Sep 17 00:00:00 2001 From: reeshika-h Date: Mon, 21 Jul 2025 14:02:57 +0530 Subject: [PATCH 18/18] Refactor CodeQL workflow by consolidating CocoaPods installation steps and removing redundant Xcode setup and simulator checks for a cleaner configuration. --- .github/workflows/codeql-analysis.yml | 46 ++------------------------- 1 file changed, 3 insertions(+), 43 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 57957a1..a916aba 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -50,56 +50,16 @@ jobs: # 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 - - name: Set up Xcode - uses: maxim-lobanov/setup-xcode@v1 - with: - xcode-version: '13.4' - - - name: Set up Ruby (for CocoaPods, optional but recommended) - uses: ruby/setup-ruby@v1 - with: - ruby-version: '3.2' - - - name: Install CocoaPods - run: sudo gem install cocoapods - - name: Install dependencies - run: pod install - - - name: Clean Derived Data - run: rm -rf ~/Library/Developer/Xcode/DerivedData - - - name: List available simulators - run: xcrun simctl list devices available - - - name: Show Xcode version - run: xcodebuild -version - - - name: Show available SDKs - run: xcodebuild -showsdks - - - name: List workspace schemes - run: xcodebuild -list -workspace csnews.xcworkspace + run: | + sudo gem install cocoapods + pod install # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild uses: github/codeql-action/autobuild@v3 - # Manual build as fallback if autobuild fails - - name: Build with xcodebuild (fallback) - if: failure() - run: | - xcodebuild -workspace csnews.xcworkspace \ - -scheme csnews \ - -sdk iphonesimulator \ - -destination 'platform=iOS Simulator,OS=latest' \ - -configuration Debug \ - build CODE_SIGNING_ALLOWED=NO \ - SWIFT_VERSION=4.2 \ - SWIFT_OPTIMIZATION_LEVEL=-Onone - - # ℹ️ 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