From 922c7b7a7cd1edc523ab2b9b26fe5994ee14f72f Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Thu, 1 Feb 2024 17:48:15 +0800 Subject: [PATCH 001/167] configured fastlane config --- .github/workflows/react-native-ci.yml | 3 + android/Gemfile | 3 + android/Gemfile.lock | 213 ++++++++++++++++++ android/app/build.gradle | 8 +- android/fastlane/Appfile | 2 + android/fastlane/Fastfile | 43 ++++ android/fastlane/README.md | 48 ++++ ios/Gemfile | 3 + ios/Gemfile.lock | 213 ++++++++++++++++++ .../AppIcon.appiconset/100.png | Bin 0 -> 4503 bytes .../AppIcon.appiconset/102.png | Bin 0 -> 6200 bytes .../AppIcon.appiconset/1024.png | Bin 0 -> 256810 bytes .../AppIcon.appiconset/114.png | Bin 0 -> 7554 bytes .../AppIcon.appiconset/120.png | Bin 0 -> 8176 bytes .../AppIcon.appiconset/128.png | Bin 0 -> 9220 bytes .../AppIcon.appiconset/144.png | Bin 0 -> 11186 bytes .../AppIcon.appiconset/152.png | Bin 0 -> 12122 bytes .../Images.xcassets/AppIcon.appiconset/16.png | Bin 0 -> 642 bytes .../AppIcon.appiconset/172.png | Bin 0 -> 14952 bytes .../AppIcon.appiconset/180.png | Bin 0 -> 16125 bytes .../AppIcon.appiconset/196.png | Bin 0 -> 18499 bytes .../Images.xcassets/AppIcon.appiconset/20.png | Bin 0 -> 813 bytes .../AppIcon.appiconset/216.png | Bin 0 -> 21687 bytes .../AppIcon.appiconset/256.png | Bin 0 -> 28634 bytes .../Images.xcassets/AppIcon.appiconset/29.png | Bin 0 -> 1266 bytes .../Images.xcassets/AppIcon.appiconset/32.png | Bin 0 -> 1386 bytes .../Images.xcassets/AppIcon.appiconset/40.png | Bin 0 -> 1836 bytes .../Images.xcassets/AppIcon.appiconset/48.png | Bin 0 -> 2295 bytes .../Images.xcassets/AppIcon.appiconset/50.png | Bin 0 -> 2388 bytes .../AppIcon.appiconset/512.png | Bin 0 -> 85637 bytes .../Images.xcassets/AppIcon.appiconset/55.png | Bin 0 -> 2682 bytes .../Images.xcassets/AppIcon.appiconset/58.png | Bin 0 -> 2847 bytes .../Images.xcassets/AppIcon.appiconset/60.png | Bin 0 -> 2953 bytes .../Images.xcassets/AppIcon.appiconset/64.png | Bin 0 -> 3289 bytes .../Images.xcassets/AppIcon.appiconset/66.png | Bin 0 -> 3333 bytes .../Images.xcassets/AppIcon.appiconset/72.png | Bin 0 -> 3828 bytes .../Images.xcassets/AppIcon.appiconset/76.png | Bin 0 -> 4084 bytes .../Images.xcassets/AppIcon.appiconset/80.png | Bin 0 -> 4348 bytes .../Images.xcassets/AppIcon.appiconset/87.png | Bin 0 -> 4887 bytes .../Images.xcassets/AppIcon.appiconset/92.png | Bin 0 -> 5358 bytes .../AppIcon.appiconset/Contents.json | 54 +---- ios/Podfile.lock | 45 ++-- ios/fastlane/Appfile | 9 + ios/fastlane/Fastfile | 28 +++ ios/fastlane/README.md | 32 +++ 45 files changed, 626 insertions(+), 78 deletions(-) create mode 100644 android/Gemfile create mode 100644 android/Gemfile.lock create mode 100644 android/fastlane/Appfile create mode 100644 android/fastlane/Fastfile create mode 100644 android/fastlane/README.md create mode 100644 ios/Gemfile create mode 100644 ios/Gemfile.lock create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/100.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/102.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/1024.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/114.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/120.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/128.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/144.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/152.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/16.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/172.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/180.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/196.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/20.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/216.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/256.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/29.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/32.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/40.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/48.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/50.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/512.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/55.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/58.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/60.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/64.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/66.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/72.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/76.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/80.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/87.png create mode 100644 ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/92.png create mode 100644 ios/fastlane/Appfile create mode 100644 ios/fastlane/Fastfile create mode 100644 ios/fastlane/README.md diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index 213fa53f..1cad25e0 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -105,3 +105,6 @@ jobs: - name: Build iOS run: npx react-native run-ios --configuration Release + + - name: Generate fastlane + run: fastlane beta diff --git a/android/Gemfile b/android/Gemfile new file mode 100644 index 00000000..7a118b49 --- /dev/null +++ b/android/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gem "fastlane" diff --git a/android/Gemfile.lock b/android/Gemfile.lock new file mode 100644 index 00000000..b4daaff1 --- /dev/null +++ b/android/Gemfile.lock @@ -0,0 +1,213 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.6) + rexml + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) + artifactory (3.0.15) + atomos (0.1.3) + aws-eventstream (1.3.0) + aws-partitions (1.885.0) + aws-sdk-core (3.191.0) + aws-eventstream (~> 1, >= 1.3.0) + aws-partitions (~> 1, >= 1.651.0) + aws-sigv4 (~> 1.8) + jmespath (~> 1, >= 1.6.1) + aws-sdk-kms (1.77.0) + aws-sdk-core (~> 3, >= 3.191.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.143.0) + aws-sdk-core (~> 3, >= 3.191.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.8) + aws-sigv4 (1.8.0) + aws-eventstream (~> 1, >= 1.0.2) + babosa (1.0.4) + claide (1.1.0) + colored (1.2) + colored2 (3.1.2) + commander (4.6.0) + highline (~> 2.0.0) + declarative (0.0.20) + digest-crc (0.6.5) + rake (>= 12.0.0, < 14.0.0) + domain_name (0.6.20240107) + dotenv (2.8.1) + emoji_regex (3.2.3) + excon (0.109.0) + faraday (1.10.3) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.0) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + faraday-retry (~> 1.0) + ruby2_keywords (>= 0.0.4) + faraday-cookie_jar (0.0.7) + faraday (>= 0.8.0) + http-cookie (~> 1.0.0) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-multipart (1.0.4) + multipart-post (~> 2) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday-retry (1.0.3) + faraday_middleware (1.2.0) + faraday (~> 1.0) + fastimage (2.3.0) + fastlane (2.219.0) + CFPropertyList (>= 2.3, < 4.0.0) + addressable (>= 2.8, < 3.0.0) + artifactory (~> 3.0) + aws-sdk-s3 (~> 1.0) + babosa (>= 1.0.3, < 2.0.0) + bundler (>= 1.12.0, < 3.0.0) + colored + commander (~> 4.6) + dotenv (>= 2.1.1, < 3.0.0) + emoji_regex (>= 0.1, < 4.0) + excon (>= 0.71.0, < 1.0.0) + faraday (~> 1.0) + faraday-cookie_jar (~> 0.0.6) + faraday_middleware (~> 1.0) + fastimage (>= 2.1.0, < 3.0.0) + gh_inspector (>= 1.1.2, < 2.0.0) + google-apis-androidpublisher_v3 (~> 0.3) + google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-env (>= 1.6.0, < 2.0.0) + google-cloud-storage (~> 1.31) + highline (~> 2.0) + http-cookie (~> 1.0.5) + json (< 3.0.0) + jwt (>= 2.1.0, < 3) + mini_magick (>= 4.9.4, < 5.0.0) + multipart-post (>= 2.0.0, < 3.0.0) + naturally (~> 2.2) + optparse (>= 0.1.1) + plist (>= 3.1.0, < 4.0.0) + rubyzip (>= 2.0.0, < 3.0.0) + security (= 0.1.3) + simctl (~> 1.6.3) + terminal-notifier (>= 2.0.0, < 3.0.0) + terminal-table (~> 3) + tty-screen (>= 0.6.3, < 1.0.0) + tty-spinner (>= 0.8.0, < 1.0.0) + word_wrap (~> 1.0.0) + xcodeproj (>= 1.13.0, < 2.0.0) + xcpretty (~> 0.3.0) + xcpretty-travis-formatter (>= 0.0.3) + gh_inspector (1.1.3) + google-apis-androidpublisher_v3 (0.54.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-core (0.11.3) + addressable (~> 2.5, >= 2.5.1) + googleauth (>= 0.16.2, < 2.a) + httpclient (>= 2.8.1, < 3.a) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.a) + rexml + google-apis-iamcredentials_v1 (0.17.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-playcustomapp_v1 (0.13.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-storage_v1 (0.31.0) + google-apis-core (>= 0.11.0, < 2.a) + google-cloud-core (1.6.1) + google-cloud-env (>= 1.0, < 3.a) + google-cloud-errors (~> 1.0) + google-cloud-env (1.6.0) + faraday (>= 0.17.3, < 3.0) + google-cloud-errors (1.3.1) + google-cloud-storage (1.47.0) + addressable (~> 2.8) + digest-crc (~> 0.4) + google-apis-iamcredentials_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.31.0) + google-cloud-core (~> 1.6) + googleauth (>= 0.16.2, < 2.a) + mini_mime (~> 1.0) + googleauth (1.8.1) + faraday (>= 0.17.3, < 3.a) + jwt (>= 1.4, < 3.0) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (>= 0.16, < 2.a) + highline (2.0.3) + http-cookie (1.0.5) + domain_name (~> 0.5) + httpclient (2.8.3) + jmespath (1.6.2) + json (2.7.1) + jwt (2.7.1) + mini_magick (4.12.0) + mini_mime (1.1.5) + multi_json (1.15.0) + multipart-post (2.3.0) + nanaimo (0.3.0) + naturally (2.2.1) + optparse (0.4.0) + os (1.1.4) + plist (3.7.1) + public_suffix (5.0.4) + rake (13.1.0) + representable (3.2.0) + declarative (< 0.1.0) + trailblazer-option (>= 0.1.1, < 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rexml (3.2.6) + rouge (2.0.7) + ruby2_keywords (0.0.5) + rubyzip (2.3.2) + security (0.1.3) + signet (0.18.0) + addressable (~> 2.8) + faraday (>= 0.17.5, < 3.a) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + simctl (1.6.10) + CFPropertyList + naturally + terminal-notifier (2.0.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + trailblazer-option (0.1.2) + tty-cursor (0.7.1) + tty-screen (0.8.2) + tty-spinner (0.9.3) + tty-cursor (~> 0.7) + uber (0.1.0) + unicode-display_width (2.5.0) + word_wrap (1.0.0) + xcodeproj (1.24.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.3.0) + rexml (~> 3.2.4) + xcpretty (0.3.0) + rouge (~> 2.0.7) + xcpretty-travis-formatter (1.0.1) + xcpretty (~> 0.2, >= 0.0.7) + +PLATFORMS + arm64-darwin-23 + ruby + +DEPENDENCIES + fastlane + +BUNDLED WITH + 2.5.4 diff --git a/android/app/build.gradle b/android/app/build.gradle index 3e806959..b001cda5 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -101,10 +101,10 @@ android { signingConfigs { release { if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) { - storeFile file(MYAPP_UPLOAD_STORE_FILE) - storePassword MYAPP_UPLOAD_STORE_PASSWORD - keyAlias MYAPP_UPLOAD_KEY_ALIAS - keyPassword MYAPP_UPLOAD_KEY_PASSWORD + storeFile file('release.keystore') + storePassword project.env.get("ANDROID_KEYSTORE_PASSWORD") + keyAlias project.env.get("ANDROID_ALIAS") + keyPassword project.env.get("ANDROID_KEYSTORE_PASSWORD") } } debug { diff --git a/android/fastlane/Appfile b/android/fastlane/Appfile new file mode 100644 index 00000000..9cae1766 --- /dev/null +++ b/android/fastlane/Appfile @@ -0,0 +1,2 @@ +json_key_file(ENV["GOOGLE_SERVICE_ACCOUNT_JSON"]) # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one +package_name(ENV["APP_IDENTIFIER"]) # e.g. com.krausefx.app diff --git a/android/fastlane/Fastfile b/android/fastlane/Fastfile new file mode 100644 index 00000000..1117d08f --- /dev/null +++ b/android/fastlane/Fastfile @@ -0,0 +1,43 @@ +# This file contains the fastlane.tools configuration +# You can find the documentation at https://docs.fastlane.tools +# +# For a list of all available actions, check out +# +# https://docs.fastlane.tools/actions +# +# For a list of all available plugins, check out +# +# https://docs.fastlane.tools/plugins/available-plugins +# + +# Uncomment the line if you want fastlane to automatically update itself +# update_fastlane + +default_platform(:android) + +platform :android do + desc "Runs all the tests" + lane :test do + gradle(task: "test") + end + + desc "Submit a new Beta Build to Crashlytics Beta" + lane :beta do + gradle(task: "clean assembleRelease") + crashlytics + + # sh "your_script.sh" + # You can also use other beta testing services here + end + + desc "Deploy a new version to the Google Play" + lane :deploy do + gradle(task: "clean") + gradle( + task: 'bundle', + build_type: 'Release' + ) + upload_to_play_store(track: 'internal') + slack(message: "Successfully distributed a new beta build") + end +end diff --git a/android/fastlane/README.md b/android/fastlane/README.md new file mode 100644 index 00000000..7ec1207f --- /dev/null +++ b/android/fastlane/README.md @@ -0,0 +1,48 @@ +fastlane documentation +---- + +# Installation + +Make sure you have the latest version of the Xcode command line tools installed: + +```sh +xcode-select --install +``` + +For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane) + +# Available Actions + +## Android + +### android test + +```sh +[bundle exec] fastlane android test +``` + +Runs all the tests + +### android beta + +```sh +[bundle exec] fastlane android beta +``` + +Submit a new Beta Build to Crashlytics Beta + +### android deploy + +```sh +[bundle exec] fastlane android deploy +``` + +Deploy a new version to the Google Play + +---- + +This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run. + +More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools). + +The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools). diff --git a/ios/Gemfile b/ios/Gemfile new file mode 100644 index 00000000..7a118b49 --- /dev/null +++ b/ios/Gemfile @@ -0,0 +1,3 @@ +source "https://rubygems.org" + +gem "fastlane" diff --git a/ios/Gemfile.lock b/ios/Gemfile.lock new file mode 100644 index 00000000..a155df28 --- /dev/null +++ b/ios/Gemfile.lock @@ -0,0 +1,213 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.6) + rexml + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) + artifactory (3.0.15) + atomos (0.1.3) + aws-eventstream (1.3.0) + aws-partitions (1.884.0) + aws-sdk-core (3.191.0) + aws-eventstream (~> 1, >= 1.3.0) + aws-partitions (~> 1, >= 1.651.0) + aws-sigv4 (~> 1.8) + jmespath (~> 1, >= 1.6.1) + aws-sdk-kms (1.77.0) + aws-sdk-core (~> 3, >= 3.191.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.143.0) + aws-sdk-core (~> 3, >= 3.191.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.8) + aws-sigv4 (1.8.0) + aws-eventstream (~> 1, >= 1.0.2) + babosa (1.0.4) + claide (1.1.0) + colored (1.2) + colored2 (3.1.2) + commander (4.6.0) + highline (~> 2.0.0) + declarative (0.0.20) + digest-crc (0.6.5) + rake (>= 12.0.0, < 14.0.0) + domain_name (0.6.20240107) + dotenv (2.8.1) + emoji_regex (3.2.3) + excon (0.109.0) + faraday (1.10.3) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.0) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + faraday-retry (~> 1.0) + ruby2_keywords (>= 0.0.4) + faraday-cookie_jar (0.0.7) + faraday (>= 0.8.0) + http-cookie (~> 1.0.0) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-multipart (1.0.4) + multipart-post (~> 2) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday-retry (1.0.3) + faraday_middleware (1.2.0) + faraday (~> 1.0) + fastimage (2.3.0) + fastlane (2.219.0) + CFPropertyList (>= 2.3, < 4.0.0) + addressable (>= 2.8, < 3.0.0) + artifactory (~> 3.0) + aws-sdk-s3 (~> 1.0) + babosa (>= 1.0.3, < 2.0.0) + bundler (>= 1.12.0, < 3.0.0) + colored + commander (~> 4.6) + dotenv (>= 2.1.1, < 3.0.0) + emoji_regex (>= 0.1, < 4.0) + excon (>= 0.71.0, < 1.0.0) + faraday (~> 1.0) + faraday-cookie_jar (~> 0.0.6) + faraday_middleware (~> 1.0) + fastimage (>= 2.1.0, < 3.0.0) + gh_inspector (>= 1.1.2, < 2.0.0) + google-apis-androidpublisher_v3 (~> 0.3) + google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-env (>= 1.6.0, < 2.0.0) + google-cloud-storage (~> 1.31) + highline (~> 2.0) + http-cookie (~> 1.0.5) + json (< 3.0.0) + jwt (>= 2.1.0, < 3) + mini_magick (>= 4.9.4, < 5.0.0) + multipart-post (>= 2.0.0, < 3.0.0) + naturally (~> 2.2) + optparse (>= 0.1.1) + plist (>= 3.1.0, < 4.0.0) + rubyzip (>= 2.0.0, < 3.0.0) + security (= 0.1.3) + simctl (~> 1.6.3) + terminal-notifier (>= 2.0.0, < 3.0.0) + terminal-table (~> 3) + tty-screen (>= 0.6.3, < 1.0.0) + tty-spinner (>= 0.8.0, < 1.0.0) + word_wrap (~> 1.0.0) + xcodeproj (>= 1.13.0, < 2.0.0) + xcpretty (~> 0.3.0) + xcpretty-travis-formatter (>= 0.0.3) + gh_inspector (1.1.3) + google-apis-androidpublisher_v3 (0.54.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-core (0.11.3) + addressable (~> 2.5, >= 2.5.1) + googleauth (>= 0.16.2, < 2.a) + httpclient (>= 2.8.1, < 3.a) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.a) + rexml + google-apis-iamcredentials_v1 (0.17.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-playcustomapp_v1 (0.13.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-storage_v1 (0.31.0) + google-apis-core (>= 0.11.0, < 2.a) + google-cloud-core (1.6.1) + google-cloud-env (>= 1.0, < 3.a) + google-cloud-errors (~> 1.0) + google-cloud-env (1.6.0) + faraday (>= 0.17.3, < 3.0) + google-cloud-errors (1.3.1) + google-cloud-storage (1.47.0) + addressable (~> 2.8) + digest-crc (~> 0.4) + google-apis-iamcredentials_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.31.0) + google-cloud-core (~> 1.6) + googleauth (>= 0.16.2, < 2.a) + mini_mime (~> 1.0) + googleauth (1.8.1) + faraday (>= 0.17.3, < 3.a) + jwt (>= 1.4, < 3.0) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (>= 0.16, < 2.a) + highline (2.0.3) + http-cookie (1.0.5) + domain_name (~> 0.5) + httpclient (2.8.3) + jmespath (1.6.2) + json (2.7.1) + jwt (2.7.1) + mini_magick (4.12.0) + mini_mime (1.1.5) + multi_json (1.15.0) + multipart-post (2.3.0) + nanaimo (0.3.0) + naturally (2.2.1) + optparse (0.4.0) + os (1.1.4) + plist (3.7.1) + public_suffix (5.0.4) + rake (13.1.0) + representable (3.2.0) + declarative (< 0.1.0) + trailblazer-option (>= 0.1.1, < 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rexml (3.2.6) + rouge (2.0.7) + ruby2_keywords (0.0.5) + rubyzip (2.3.2) + security (0.1.3) + signet (0.18.0) + addressable (~> 2.8) + faraday (>= 0.17.5, < 3.a) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + simctl (1.6.10) + CFPropertyList + naturally + terminal-notifier (2.0.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + trailblazer-option (0.1.2) + tty-cursor (0.7.1) + tty-screen (0.8.2) + tty-spinner (0.9.3) + tty-cursor (~> 0.7) + uber (0.1.0) + unicode-display_width (2.5.0) + word_wrap (1.0.0) + xcodeproj (1.24.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.3.0) + rexml (~> 3.2.4) + xcpretty (0.3.0) + rouge (~> 2.0.7) + xcpretty-travis-formatter (1.0.1) + xcpretty (~> 0.2, >= 0.0.7) + +PLATFORMS + arm64-darwin-23 + ruby + +DEPENDENCIES + fastlane + +BUNDLED WITH + 2.5.4 diff --git a/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/100.png b/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/100.png new file mode 100644 index 0000000000000000000000000000000000000000..3c0dfa6f718126b039100fa6ccb6e3ee5dac2f1e GIT binary patch literal 4503 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 b+yZ;)t3D?VLH`XcL_``-bye$>ZKD1M$=!z_ literal 0 HcmV?d00001 diff --git a/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/102.png b/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/102.png new file mode 100644 index 0000000000000000000000000000000000000000..f907c5579dbcaf73971168afb83603802f4807b1 GIT binary patch literal 6200 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 D|sn(@=_Y; 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 z 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�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 z z3|-q_fSWeaIPi}Xva)j;$f~)RdDm0$Mw`(4{#xw$`MuElJE8hZ0hWRA2u$IP%Kl80g&1 zKZ-&H@Ua!}ki8yd=OnvbGpeg5mPS$yl%~D3INae{cuJ?DXYX1lF5j3Q*f%Q4Ug8f; zEFihOLI=p3JPA!BdNh}q{h_#*Sh|<+b`uZC(_lK>7&>FFu*P6MvLMvUBY}yjk(WnS z(^b07*qoM6N<$f>QD;$p8QV literal 0 HcmV?d00001 diff --git a/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/120.png b/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/120.png new file mode 100644 index 0000000000000000000000000000000000000000..bac9a7bf2344ac2306f80f1667335708d1ebf175 GIT binary patch literal 8176 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 literal 0 HcmV?d00001 diff --git a/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/172.png b/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/172.png new file mode 100644 index 0000000000000000000000000000000000000000..ede009bdf05268fa696afb458839209405f84b4f GIT binary patch literal 14952 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 F{{a9#!`lD= literal 0 HcmV?d00001 diff --git a/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/180.png b/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/180.png new file mode 100644 index 0000000000000000000000000000000000000000..87480d5614dc451a8e910a6937ab25536a3c0209 GIT binary patch literal 16125 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 literal 0 HcmV?d00001 diff --git a/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/216.png b/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/216.png new file mode 100644 index 0000000000000000000000000000000000000000..474d5e6448ef3e07c2aae8cad21f00e189cb5428 GIT binary patch literal 21687 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 z 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 IQvyf*59F4Sl>h($ literal 0 HcmV?d00001 diff --git a/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/256.png b/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/256.png new file mode 100644 index 0000000000000000000000000000000000000000..ab1a3bc48c7221428933b6df2123eb3e090067e7 GIT binary patch literal 28634 zcmc$F^;29;(Dg3v?j9gG!QGwU?!g1W-QD5A9fBvgyTjrV+=9ar+}&aK<^8JOzv27o z_Eg=f>AAP3=k)0_F={Gu=qMy80002}tGu)Z008_jfdC|gkB5vvlFVS#Ib%P^xWFtxD!BbeJg9?Kt=^K!6Vh=o0H8A!Gpb-C4P_hGf$eaynq8hi>! zxE}O!+HCo-Hh91WU?Ri5kBOgly4o%bKCBB8XIAGpR7u6V|G9_o|INKCNtV8%^?bscsn_R{TG$m;yUy+XkBR5^uXTf=EP^QiZ*8n15r`lEt#zZ;Ksfh$W8Spg!RE8+_WbOnGoJb@F!AXU<5upcS z_CVCr4075vUx-Wywub!g^LhPN{u?~K{=NT+=twa5J;3v#t%G2t2|kxSHwbrw=7+WI zOWfb=-Q}O(wMaj|PlX9t4r4Vm9-$|g(K-{Cg^CR&LCG|F14DwjS`43TPn9=Vdc#Ui z;JS@b)tPJlh~wV#YX6wYe9NVDrwKmfE_}Vt9EZVRZ&Tj?p6}G|ugsmplm4W4Li0lT zK$~=fNli*LZ2APF0v{B<&`(*k%*Sw8uU9ZqGmr1za8Gi9CpIK&ft|q@oyCSau`Bgk zTf{x1@DyNNdVjh#!DUdG+BAc^EqbnBX~)yN>NAfEwrf41%B8%5!+x|%Zbg_SWCJ=zG-b7EwxXAll2cIj#3sA4nmTB?Tf1 zSIrQrgJ+ibdEnC4gBVkx;GgF;%0*hOd8sercU52@b7(Xh{DcKDS-%H>Z6Vb4a=%=! zPwQ6MaRyM399X3-*Q38+aPiIx)phBy2}P@V7Sn56;Yjk!u|`|$rg#f4$&uOjEP;D-`ZZ}ed_w`7akNIsKS51 zP2g+2D_>#r0}fCfp8^A4tD2Jz{98mfM{ _9mGR7jux-OET)OC(ksXSCkeCy|Xe zWo-l&w!8?;bSrqS{q=TzZ``*3blG)#;%g2B4UCasO)HX)5%SO)A_h^Q`%Uw(gcwmF z&Wp>be(!QCFb8jhsWS_bzgNX$OGHBawU=H7w`k{kCD7n!cBQX4Rl<$?#ld(fI${I) z(Z66F-$*LUTmPUOb~Jo_`^531@(o{f{e{^Pe_O7WH^iU{rEa;7DR>4KOD1av^pRh$ zI9=I#3|VJ=N?n@#+}CmlzQMnpr%>?G@zvQr=Oa<;zz}aINxlQ2Hv3O+hxTAN^WJ80 z@hbR5Lsl(A{6%$%C4}1}K#2Bux~+eVb94;yzI-DvmsZF>I7t!GsKl&SHF2E>nqBL^}$2AsEp zNNgfsSqlII22CLfRna79+uJ)AhNkkA;WG5Q_v5V9i&oB6Pe9ResFN^5P^haLs+kFl z1as}ocnlfNBXo}bKrr~iXz)T?Bo$r|)@C99l>5y25od8XW@e*%tCHa}RUhGF>D(@< z3ynr!Svg=K-!C>o@M)N?oh+kP)wjIk!Yexv#CbV z*XQ@nJJH@1fArL)oXW?hJGsA9Vp4Y?L*rW5qYU~T<55xlKIfAmB|>y=?*LiYF9XjO8r?t#RIK&NU=F}`D?))} zKv%vAz2M9gYT_Rc4(5pPr6?s+qJR+1Bh1`^U?^H+FSg6$;8s18>zg$EcP$C`0{>tH zVOF+k0@!zl4mMfXA$)3MSyWLiQhb)b6yU(?PL1H#eLKC185rY4GVxg{M759IC-DXU zvF+nE{!bu*^Y!=pp(Xtp`hZMjp{W$xx3k3wxJY)q_TU}xXS9efh4k#D%9Qt|L_@LJ za$92S9>b`!&|FS(eaTX>*@{)tqM6P>A@dUOqqllBA;&ieN?YsJXwN@wC2dFZrUsP6 z@1M>TsloB~sc{=f;O|CR7a~30s9BBqjC(n<Pt^kl3%@;y=DB5#mHZJ#s3(ZKMDJs(-EE!{09u z)`%Mxwt3)_Fo8~$Vtdc?m)?!`v8SMj>qBm%emhZ z{E2eSV26-|GLy7jz`#~`t!)QqOx+E%@9-I9*6NR1Vg(ef1o{O;0`@%S(RA^jj{kaW zyC|_7Ka}!;O33nAM44`iVWn&r&N1_K%T?>yzTa1!S^EUr###sH z-}?&!1pzQVcu>=hnU*)sx?m{X;dQMRa?#!0>K}zYZ-_W6O>i!;`f{_)lvKy z@P~Kwa#bDg-S&ld2e!DEFybSVlK7Sx;^3CW7e_d5Vpl%6tMt>H@)o8w`9S9X@T3Bu zM3JzBTGP8Ds_;JltQUWsIy{3v`IMP;zLDfdruh;hXCd`rJPX~u7u<=*i6eyspeol@ zh(8$+Fx|sg#qwPbA8cRk|IN{>RUw|ka+1Ul2Q3AXi^9%!;CptF!F8Mz}2Tk45kff)ydv zplh9P$a$s>a^U<#_T8u*IEtl?l464GaL8`0a*tiRJA{qTWRNf7u|cPRkdNw2nHbR& z6PaWCQZV?7f%`=XSpq!8CLFncz{La|sppCLm3mSbi*SCqgf#YJaoWNooLq8zzJzL4 z4kY}i_e$GLea>}Y9?v_0+dB#gdgN>MAud882H^Gv13&+A?cFo3FMfg{{7X!C5am*U zA;ltzOm!L^d#?w%i9=7w>#*GzpDtGMQ&f6J)4zMKg%K~B;6eTSi@Ly3V!J*O4F`kB z{$<9F_>7yUI3C)YY55~RA`}y8)jKrvejr@HFeav50TXSci|k`DN8!-nmkXKY7@9#%Rk#{TZoXt5gZ(m8I%SRawsOHg^l?#Ish z(|GYH+7E*uy~}7{&O_JkY5QDVqsY><%6@0)EnOI6z*rncpSFz&&t}T*4HW6;pbdS$ zdL5wKu>O?zS;CJcGkeXh`Avr4pHr)cSOF{Ar8^)FMsh0}A=vvTYqc&RyZ#%R7jNA^ z$X{(1t&9I;#x6khVkKk4A4orv|A4@mmkipv>Nj1gH5i|~k%3^+R6M1c5RjX)E`2X$ z&4JYu4!P3*^v+QwcOO`=oS3m}$Nyk?eH?yadbO%j+LRA!Lo_2xj{!tq$YEcPghLLQ zcH7%L@V#1VO>I?Usn+VNmt3;R28aIJOE%foD@U7iGpIsQhXqx6TQF8^?Jbq`x_& z=xAE=^6C8%qvA*?n*EF>^QB147yB5T^wYqDbkTse313CFfNE-% zweF*tq9 zT1&EEoAuS04lyRYMp8vVv|tBB@$1=OzW?g+r8@Nc7XPCAw>)^s0IT-DUZV;d7wiyt zhlTT`>1}Y`&dH^o$MzF#gPsUU;>V1H6Jyo@GOI$$Y;$;_f)5!OvrNs6M^U5{kz5 zBdNYk9HAFTr2q=VY*dfUu6xbMB1JM{NkQY69(48sR5?=H&W<2oow2EiD~DitBuc4G*@0Y?i-kzE(&|r z(yb$>4292Y`iFVdpCupsS=<;Z>j8Y^-O7Z`+IYh&IY0>QMPgyzNKlA__2!+uF3k8S zk3Uw;c7G{cIc9Ns=~Llv_s5m?pB5>6#QR1!P!;J~oNc~H{Z4wOh|iazr)YtsmiY1e zlBk`&gaA&U5UD4cY#(lxfj{|~2;$}?)%{sP$JFI5pSEhfl%Ed1x5z|^%f`1LLX(;| ze69#K87_=h+$()-!}~TNzFrH;4_vUV-~t-Q0FhsaVk%Z1C(SOiW@AOoU zVQVC>#p`Nn?NpCt3;SiJltu-R@>4A{67sgWiwEhk(TRc+YxvO{09BE|6>f~aV^}RIWy2dg`k}UM zE8Y$<#HcKR5V(7JND&eP-=nMpg=Pesv)4KKhG7sUbBW6}Hg!mxLU5^mObuxB6ZD?{ zwH>=Ju?STGPPeI%v_8&{&2uy4zvOqXE(=XZ-|91X*I6x}m z?N-Vst9BDH`kW&0d43FKebj4LsjeVMA4@&@m4M$O(huTehu>a@dq=?V;@TV}j9>Kb zBmr}`L~-9_d0k16b9yIG>C1Jia#AR|4y5sK>K(zFUuV*uCQrK>ntRfo^X)rT5c|xE z>`#iq+bKoUPJAW_KqK$*%-;1b__v09+E99SVib1x4=yEyRpBwpI1PR>at*_j_=400 zwdk_?&@J5acQNlb#>-!yPaG#RWq7$Gx2|mVA6KtziY4ij(9o#%6y-lfE%>%Kkfd$U zjmb$Sc6y+FU8y*{44Q>AYl+CK~be^JEc<@8II?F}G5uY2Zxqly4)#cIw3>815Vb zQ;JsVR0kUp6qq>R_kA1afk0HkLP!CAn73>1y2E6_bNn4j-JM~A5&QtAq~ZUk1oVa2 zc|)vU&z+nl`UuUIXx{Qlf6b&A$_*wcH)*!lMdopy+@~DuB;$~x-j&lAfQ`je-^PfC zq{3X0GVtrQ16Kaok=U$=(-?OnagOLsk6dohsiJJ4WBfo8z(JOn(7E0pX*$amIcPg` z+TO)&_)XCY!mC;n)>eIZWzCj(&^M8Vcoq_4}8d*--Gi${m+-qy7cR?f><9imRtrq^aN z%~pKCEeub`9PN@mnsW#X7(whn%2y=&`WyYEr`D&awYb$MT*+BnonmzdykusPp}iNm zcF+@o)n750j$RCqSm{l{-XETXNh6askP+hSx#|y-Iwv`ax;(F(zU-1O2ZsoGP8>!~ zoNW)si}W3zi78|SeNlQ`aD1j?CR35_Y);TIZ+w57sqTF48~sF%_E<487@9w$18{Bp zSC;oE#Hnq_Ge&hHd>^2rMw*f(UD6rj>Ve;4D`7%`MvH}E-NN{64oA&iyIFX5CqFnA zl&$^`=iy5BzR27G9o2B#)cl@_;$W*^5<+Ji5Az1$m+Vh_7HK5>hFD+6y!_sH*eZS) zd1`sdq2x*8IR<84LF+9g^1T+POxaPtqn-XuA4rkCLQG3TkM&@kcFW1qnyAm}9|@Xv z7qQ0W=ichs9QX*c42+IJ27LKqDiS)G^IT(qJYs4>`IZ*^|pb3W_i+&#*=XXb<8J`>f%z0*A=1XI`&BUBQFOMTwh^HhJ*+6jQeu`v7P%~ zAZkJfD$`s+&xhXSY>qHaI%CP=#>wmPR{!N|Fv#jNFvD5$1%3*Gxt;}>7X`w-xo|;Z z_a`EE_Qa}SXTPc-f@8;lShGf~!b5w1w3VujhR;UI#xf7JT<;7y!rxq$fx_>}otNI% zA2|$15pJDec(IqhA>zpYYj;4N9z~yZ1oqA6^o1&AK7W+e6@lVk^w^2{;{0iUsW4)R zfTz!ASDFinoAnDB8&-^y>U$0M50vSLJ{rCoRyV}L+tJ~FcW$3NI$vuFJ5iClYY6EZ z400tqT0dcZ!6%ks5~K?N0wYhT-7QB2U!MzZ;OuXcOXLwH5wY&%)G9I?lAtJ$ZcgLK zd#x9R8r$rz4B48D=KZqZ?{{oZ0$sSTMk}uqQ@+f3k}xXo*&gB#!@w*L(5tQ zuNn(?aGZi~<}Bgwy$5|-YI-a*x}E!o*&Cv}JRX+}cyjXI2MsIQ}2mM@ukL#84_x3(ZIu8=-Zg+Jnh6C+vyvtzYj31N>nfibKeOxJ-=k_;75L3cREDx(K- z)qH@^dU*cq{|OG}>(C(Vn6yf4>x4m|psR*uz9|)Q;=Y-L5}?5LMY`jeoTPkwEOfVv zV)JP|Zos-Ff$5or*cS~fS6uK%LT4h@)dzp#c|FSzO7{FGw6BfjI%dd+c3=>R6V0hb zt!@FBc4kKl=#b*FC;SAEQAAH3y^Q^D-K4zQ-26FU<0q7DvesCxp^^FmRGZ9uCHQ^x z!V21f0oK>GTn0h0gA;M|TiNLbO;KDHNo6XIcysW*4UKL7Muid&SHxX*r!MSdmCQoIdch-Ni>v9sQtGLBp7Z^wNeYsS09M=QlblaA1~$3JN3 ze&Hcl1`YX|DJ-t%56Pf?4+?dE!((B#tU@6EufYmc_;<8CJ!!v-ZLScYj*zrOAdamk zOsEMO@!UdMzSM>%piW_L_$4l(Ug#c5@o2e$WXg8hQYAK+lv$QJ6|OmmaeIV9!m85L zf@L1-_ya3ug^07_R-XO?2TCKKlhUVzm7+_p7>3N0QUL!R>T^{^j_&!=B$Gj&4Uhd(` zl?^#6f{+=Bo2C2-&1Utevi*n|LTUCa_56Z_xKFr34t+gONWXRhrNgxLVk)XfQ&S7- z8g`;=V9TRMq1iusH|y-qZo2I@9p62gVaH`m+m*$YJAHo?X&LkljIb)Pev|kTq^MHO z_KYIy8yLCuBp@9cfC3svHsuLkw)1)Oytq`0^FsVXoM9&ASyL1bNm3=dVZG+bsh)H4{FLWGq}O7aQx^%%dr^yl79L@-uT{`vf5 zI{Uk6x`abdrT0_%gMB(defvuUb#P3HSA%hG2967Vmim2ovPN4Qq?56)sV2JC|50V! zAz^~|zZSTI=;_3l#=dwCCP-{5chr2!Fzgw5FycL1g!g>)$Cj21 zV2b~4VJ!nLf{h-Q#X|Wmon^MF;FMwfk@>ZEh0o?QQ*Uz|g+t|DA8c0%n=j%-E_e?leZZ&DCSstHDc#W!b(=M)rRvOyc zG8c^Prm1P)mEfvPdYo zwJa1idx-I#HI3O$!3T-Jc0I=b?yPV7p_FG1kFTjCKdnAO(gnMz1CxUX`sF}Z6q`uC zJEYNyMd+sIzrGJ#_zDm1y>%g283%Krt~F2IfcOCgrMnC!2NkgCpmHr-^v6%wbJtRG>50o*S4v4dikbd-L<#oRds+X?(Jfdtdi+W#Esq zR*Q=GNB#0Wc91_TrWNGB>|spxn*HSHf`OI3Dk9Q1krys#xEfWkZB3=1FgXx0n*AGx zLg>ML^|FJgO%=r)@M-c`MRs@OfR>JMYh>swN6!F?GVH37kai5LGrTcLAgUz&;0ygO z30CxHGMyu>PF&tv%yy7B>+sii8~h;*)N>M=6RO72ye`0{ot_uT&#ratoa5M3#e(z>g8pWI)>*hCv2J(?a>Kep(WL)&G+Mp0DRe>g=xG##vIt8*Q@ zh3Jt5y|lmPBxqC1;4iTE6h~DmK1IHHP}tt<^h|+wM{JgFJsWRd&9ktmknv+Riu4sGOQeR~6(8sZ{F&hvBJ`5E!wLcv3Qby)TOaw!@NOKHRUoNE~JXjI4SkE4Kj>-PI_loP)s5yE#os_7+ zAAP~?vQRBI)q<4b1${*24Ot2nBrd#Gr}4ccSFWb>dnKOWb6z3T@cz%Had93eyCkO; z{dlm?yWr-;k}!d;6Bu%5!rpTQL>czcMtXCt-!maX`(B2&!u5Vv)Vuo8WyYJxp1 zu~py181G!>jD`sWB_+?;O6KIDfnqxN*ahC{{_={2f`1u zxlhyH&0!P1q5IG^)QxVw^1jTRa((J~c3gtS#xg-ga-X~OqWAxx`1jTm1xGd=%?4sF z*1tYreV}}&(v2xX2VCzpbRjfK2U?@b4)pxL#pge5nkRXXuVg|+Y{!-9RcNw>!`yGG z|M=p8k`PQ#1&@!}Nyr7?g-a&cF%{{L`Xk;v5ok6-Dx!eQJ#i}BMokftW zgi^w7&6+&ZeYNcwXUHBjf{O+UJN|@4qFiXS$)1iu&(r7uU!Z(`IgZg+{#5^2u$%&^ z6tBeqNScG2W%z=G+f-*^cJCIF0s*Xt;rc?==b?UQn`MY!$ds2`a^C-HUp7p!L@3bw zG=n(b;k&SA+$#K7Jmb|#M1%mA9A1(WI7UIiN+&QHF`Cgs2oY+20kQUGCU3`iMxO|CDk` z-ZR8k#MwWsa`bXT>tn5~xmPoIa}GzZ%! zx+`r7Lc0JuW_)ZD6_8QeYJlF8~hfg zeS4cYDu|r~?{nX_&{n_)nL{mNEUaBWEU{vqzG8dNyYQaJRhUIh35#;>w`=JWC;d!R z-*Y*bb#iLQK%5m&cdHZ59u*m!&VYLbagoeLa>~d>EK0tJ1iE0}MA%HS1%)23wsG(U z!P}iahND_?X1dtkZM!_|K_!D`5Cd1tNw>}D@iLR>Tyl`|~W1%s(P&ue3?hP~Y zOUC`uuQO|6kLcLoQJU_FSnYUB-u6b)fX-*%5{X_T=8{2ZBAdjpqeALjJ-%_9Osui> zU5+D|84P5S1&f6;bwPDN19y``Stc(;cBfwI6*X0H3K#IdiLs;hy1kZdypa-jE5wdV z0jfN6j@$J;NMymPXC(BPA8d>I6ps|Ayy>-~;upMeY7$CWY8RB_J)h!#)=B>*P?K1; z8KY&4#`;d69b<(hGPK7K?-A+6igr71|3D)lwEWRSa<1GrLzuMtTTnI74MlOHz}y!i zlJ{0s)fR0)oh}-dJSS#ue->m~e^~JO=xaX?PC#W#C|UjtrzNRdA{_psvQPE9^Jg-Y zEJ$Dw-2Mp(K}M~a{|TkulXr$-m_Q3nPJi$-caz-SOVzNMzLpy+>X8T!x6s^9`=z4f>hXM&w! z#WQB+81o1X;bDKPcURH=U92o%1q)R`YQ~8yldVvK#E$flqw5aa>Tp}m@fvrJk8Z9! z9V-#T?8lWZzsHFfyYL+o&NcR?W{&}TFkN1$teXICI9X9@KxadOySz#^OyL>e4qlys z)y(QbL^$`wiG_7ryrP?F3pf#OD`=im|3cj9_j0+wvM(51rvF118enZ+v*nwf8Q&hR z;D^ptoe~>ero^(5sP&I!K3j3@?gL5vne`gfF`}oj+aeiQt^64=GBuK{`wxZPAwcxs zM6IJ;rjx6lv%8+g>~)g#?!q`oJ!^<%5c1rXu1NTIbajZ~-@N#?Dm&+!TrN={{_&m9 z4k;c}jSk=b%9Dr+Udx2y>g{@NhNUflopp8XXaC-0jyM0kiJoysj6n~efQ_kav0XX;+Q9 zwX>rnlKCvCcMs*OT3PW99zXs#F7CamYqm3POU0SU`&!E@B`NseSN7L@#rHxL`5iO9K%;E?BU#t%6Og(o3_Wt(D7By3uqo1DXchy1nVuGYp zAN;8Qj_KHAX`qH56SC|5iS-sZ6U#7B=E5Ep$!fiRWM1;9t`3Z^IOb#Lx#hiicG+Pm zQd4*a?HKWsLS>A$`vb~yV1$3ycro2%B?$f=8_aF7YTjuN&NIU<;-+peV_dx|o}ind zAr^}HQEZZ9!swTm8zhKkdzBs2Y<|T-q1J@lKV;oKOL+J25Hn*}oP>F6-gqc4Z_6{h zvU}Xo{6u^}P-|*){1NK(TK!0oDe|Q=7N+1#B9Ut$w7WOFIr)N%4vi`1^CDOd?4?+D z&jeWZnfOWR3Bu6PMzpUL+==@e=t`=f_|<1jHHOIn3wSJyvU_8x7E!@JpzRhsBgCu4 z_(oi?CdO9nVGbu2vA@>-C&}$Q-{ywF9g2#JMt%Cc-eB5_uDMUw8>>>&5qnB0pHZi@ z5Za&H%KkVmMC46f!F_?ot}zQS#g=}R&5Hc-=ODb)nNHOs@^V;1h5m40fM+kmu{^!h)GSt^)qxHRu}?Tw6GqDb*C^f}5^hl$3fZ>04}&g%=4 zn=O;%r}-JpR5#de(cc?}#v>`|yn9f!c0JH#Gc?Nw&b~=Z-49Z|@}OCz0|7 z_NrT+04oA>FVU(^Hrr*O|AbB=z+doMId8N1NN4G%A~hzT7$N%oeQ1AkwD8;z15U+) zJgrLQH$DPlN!ktOqzQp*yS=yd0$t*-0sEHi*;_Y*)yJ3IQ39UvNl3Q=7Nm|wf?SR$ z`H_3~hZ&&0fq8np>41c#mM#YSX%xhr*Ix}1mVUj7MMWmWvupwC>KZl1i_Yi^zw9S` zzJ|@N>aqO+W_5Ajn0Qp+B>PVNK^c619=1by&&&`VwhGk1jm)Bc3Paw3S7|Fb1$bWm zNSGB8A{UR^!+Ll9S) zgK~cS))*i*FdMUt^gL7g4EErlv-N{;Wh&x3UTY$k%vt&MMly&4~9I^BQcr!tZ5Yh_%7@Xig*a-o=VvJD>T$}B$zn3uja#pHeww=Rr2X66H}lCud(^Ntpe zXG(;s_Qf4MJi%q)D=MC3e!>Mh2nB~Vg_P2UVNg|H^y>VMOiwrT=70D42z43<7(rjDH?xvp#>5&3 z4NTHU6WpTb;+aXwV^vr-$5P6{_nnkWLvhnn+xAKuU0|3}f`2~B+aHfH|7F}QnqGyP zfReN2OhNMDrlk!!a1;zA*T960T zkW0^~yH?oe`!gMi;X=y2tyUXc%8L}Tw5G+;Ig}$ZDyV8fjDi?%D)T>4l;7WJQ!hbJ z-Jo5_S(KxZvecwl0b8VOPjtx!p*KHdJ1fTr)6h`!W;~G68cIyce`B(_TU~G&(uFO) z9+gc4h;eaD+Lk{ zDj?n(Pt9m8E-hdL3G8-Z@W0Ht6>W2*7k74uw9+N_4d|7d zUWGn%;7O-0+ktl0gVVg=5w-0v$EzvpDyfL08eB7&qc2#Baa8&IB`L<#9tuT4{2O+( zH9i@O<>z#@-CrUfrPr%zZmYN_fN3u-ra$VB%kdam8)c@7sT40 zh5b0ZF_R9# zCbNWsxcIIaydWZu=j6Zf`o_6B1meX@8J&p9y#8i|0_ZYSzmzzBdl$lv_s1$P+;|Vk;=Q1_w{W@j{ z6CG^qVy{4ggF16&F$X+ff3t<7#quA&X}JhF*zeqyUS53z!=2kzJ!^IN_5j64QYTH4 z$6;0r#E9bBl%ixfSqypurwp08B}&|UucB6E+aoV04%!@gTj{X%1#PE*hu#s4r_@Bw zr?W_MzfA!&(S>FU{v))<(4A^PuXIY0=;?DAR(ydtt*9wLG-N&^RxVvHLQ@Pe4!+cl$|47wKuL0?#%w%9Tk) zs%GMPs5~o><~K-=_f@2V)a7?FbKfTlrP$WP$LuNZ`r0{9fCm1V5s2CAfm@Z>YV7MPN(FG2S)@~^}jc6nI5VyxmD5`Bt9X<3i zygFmm8)g5{2+7`~VCus{KKy!^2B$oBnTC~nWDaUQkO)kix@wAGl|T28b>OkX2l~gN zE?)Y56AawH`A=MQio8%n>+=;e=gINwCs{dY_zo^8qncQC&6dYW7YCzv8tTA&;SQj+ zo&!chx;zO#A{%+pvRIRe^<V9yg>HtQ>t4E7J>gK{DA2o3H;Jht zC0S0V)|}Wh7)B3{j`rmnMix5eI^)%$gBSjcOh;2Qhy@GlH@QGJgR<6wYJtSh-QlFv zWaQ#bmttnlN0~$TAN94HSOnocJVwe{;l;xk-G9!myKVy*P;Lg! z)s)6s?x%U{Bn1;S<$@m`EW*+93>Mtm@~?MU*Q>wIP8Rt9DNR_ODN)9YJ?EE?3OQ=7 zIzt>Me{LB$rhWNUZ+%OGr|zRrA`Y##2TyMJ7}8xep1zdXT{zGhQ-Tmgy#bA|n+Sc9XRg&OZCDy#6U* zIoeh4&tvh}0x^d-(Tn4RCi#+vT8_sLOr#Ref>K0W^g2g#HwUtb*aF+zrZ3Y|st*OF zJM|jk8)3J%Z)UV9WgP5p%yIcox_5Wozfy>!tp6g#d3HxPd!f3is3c;G_c_0|@mjNU zy%W&ULn6~Rbjx*bN(IF=RupNW_c&&NkF;%*)>;Z)qbF6R>>AC7CgACWYUCD^(u`#a zhIt=w|2x*iIWR5DoWbS%UP*Aj#f$)MiV#*F%{L1bQ6LtbEca}q(1Ia_+p|aaZ^U5? z?N7~~!%*$8{hS!z(xsQ%^UKIPBG_bZZy>F|6y0XQw}&ArdC~}LE-E@m^#SqZ>33dv zxguiW)B?dhzx`S@aTJ&c8jX#`oV(bO@id@B6uk*kI}0Zd{9Oi#D@xYI zjz^C*l1c#CIJN4}Cj6WW**Nrq%4;fr`;avMa2oJ)nh3LXL9d!HF|$4Kn4Ihmo0_r_ z7&2wAm@kc1Kc6r7V5N7|MQz<9)7K524u;x3x5dok7Ck<3tMd|&%TfmrWKY6JR9!DJ zhEw-keK2)FvIUT1ru#_-L(*e=67=$Sl;lp8g z87=*ByYHN4+2)|WNAPsYDA#>a+5xs7?cX>@vBqKY@pC@i%utF2lI*jHWAm!sOeTg& zF=6r(ySe3c$xQUrsLrN*v97yH;!OSDaBTU`E^}C+b^d|r+P>O%OZy4r+|?Tt}k^|I`W#J}6n#N`=WqPl$bBR*fH)OF9uq#3S}!z5NdmS`-&9 z5O)hsBgQ>Qz3q)Z_n1{TDaScCZo4%WwH5-{knjs4klC75lC=yl-E^#vO_>b7y=hn1 zZ0fLyDHfZLuI@I(peLP4k<#Oq%`QW6(c&NoJyOt6c~?D>=nv_J20J4WD(B(7=Yoxm z5FjS|Z%fB9z&i`?wrN15{h1ivVSiNnedqn-B(j%d1ax7TvQ=FPh%R8?XtoSbZ%dD< z4`K*)phe3NnB>y5Xjmtm^aOjqu>2awHUq$Q3fGj??+Bw;w z)SWTovfd?zgn9o_vRS!5;wlqMeztWXCRJ=};PfN!h_KVsey36HJDQ+h@xB{~9x!xa=p@}E}iNsKtg ztnc*4-JehSOOhQl#G^OBErL@E>pdOu97nmlm*aq~lJ_Ef?SPFO#2%w(j&!|eGYD49 z(}u%Jz*LBd#F?(%sSF>a!}!lH8p$%v+D9_`rP$16{IxrTU^js#VbWb5NAzst)E z5z#BUd4=Yco@h_han>po8ItXcWV6s=*C=luBY@8fu2;?Ic-!}abW+%#JeG@+3goFe zhelqCm-uehf_yv6aSwI;&-P)aa}yP2Ei``emd8CznO;ZD9Cr?G@I6-ku{)G|?)`}f zrl^^q)BWJ5)_IGz4|mC0Zuq)I&BILa=DqTI>^Fz0%3ICo-yyDMKxRdgk2sZLnGOt( zPZu({GDb0vT-_&{`&*;iHnbzx6jCS_qV+=kqWT6SMGuX>>wDBDE?xvu}7+VZWJTQo;7P#FHa*NO3F#q`$#)ndY97o$M{ z0hbq%wBSErWjwsNcqswGb?B8()76ci8sjQq!r6xgR)Dff=8wz2>8#k6<{#B*V())NP0&btDCXz= zny-RdxA0OyxBhWIoxFPEH2?Jxa1Bh(310CUFgQ)d+z4M^)s3+R&~c^_B|^%bX=wER z=(hQ^ytjB{@&l+{>{mbkvqhV}N-xgSdxJ|kc9XZ7{**5e_2UK(roZ`yoAD+Ij+Pu$ zY1uwy<1{3;cDsL<&bA%qKB9T+B$dGFx_{=pOUG8NYWDp=&~-t#q0<}od5Uq-@Oz$X z8nSNv?Be6?$J8WWYR7%SEj8uE@L`2xV0uy;{l%Aqb5OV#95#TvctaCW@wyh zX?}TEfS7nI6jA=(7%wlAJ_j*(>OkH{-G3o&d7dt*ySeH48A?V8xp4?2cO3Ydb2e$idbzr zGn4xH*~FoR`EHCrx-o=Ml^1u3pIbZs0Oztgy}rYhQgK1|-unBs+gERn%zZzG(4uP{ zrWz8s0%^*Bbnes@A(W<9lLd2P52W`>&S%7YL4Fv&oDr-8P52Bu2Z8nQ!ej3A3^4jG z76?_hd|D71fZmuYqXJT-hC*!a$;iatS7>|L5;;cjH(RvBb1U5ZyOe{IS0E>>m~52g<9}lFW zO3&~`A!l3QS${Y4_ti@pFUSA1cUBE?G*7&qWpQ_R2p$OT?hrHtHb8&?!3i21774*U zxVr?`7k77uV8JCMxWn$*|G7P1;oQ|#cTIOs_e|BVo<3VlYp{B^Kd*30{ip2E*VaO1P(4ZRkjL&?)N9=*-U$@=BfDae4 zo?I-Vmbr(n$`0o6?&}bDf4GN&FM(>7jD#<4-2}zJJS#zLt_)iiNoLfzc6Q*`IUn`4 zG08rpXg>T7tLPgcOlN_4kf;Dg7CBl^0P6S4_5UUuf9f@Te8e2*r?c?Br4(}A%F{Iz zO7eRlAn+9M(-Q$HyDn?LuEv~YHK1RGV?GXUAm#8UZQvJ^Z;vi-Y;-4cLB3|_%YS~QK%y$c>1Ev80`)?s+{Od;H}us00N1M?rITci{ZoIy7G!N=H-0lgTFK=k*I-VQ6mpOsgnKH9mnKDR6wMMk? z^26|oRTk$m7*(zBOMeXr;;haFoWd**y*=za6@YB2y6ok5(G4sNnEXYFnEX#65@~vOdJxqxhBDg&Y$|dX8a__rYuJE@_ z$)N_`(oc`8TRehmGAj#>j>*iQSoEH%z7!Z6k_GgQRCxYoJ)(OM^wE6AGEZ-C<+9Y( z=Tusk-)(<8d4`^>+tT@;&DfsO4Cy3`&@!$0?e?EE8hF@BJhH|<{UA{u5d9f1+J&a) zN+d-Rs{hvi=>em>+F+*aLVzctOimW7U?X3Jbo(B^z*a1npYTarTBZmu$Qg6fj5uqC ziCV^0n?-P@oP`F&bYq#-H`SZ>H%c0t^;1&81ckl(DLKeSfvoh(hwDW==hA+>rB>i8 zih2^AncIG>-Gf77;sTjlKn!=t8^X}b=xDnEHM^4^6WGsyJS#MAb32zwQ*cY>$4f}X zjr}^=13BeyTk$~Lx*w9#zrpvvo1;@(zu+)kpnTP$YF$h7Kc^%e+QK*E=u|OhHpyiu zjF2|3C2hfU2Jrs02lN3ZIEsL#?U3x#q_(oOU+;fx6>}h!+$FgZ`S21Yg2-F)e}Hvc zgRV?%?a+3%5=bRhi9WyZ&0d!K)O(s7v>BvEM1F)(nDyrV;cUz(3X;?PY0S^z@`J9f3Hb$`Ez4jS*mTbWtA!2hX_JQ*G&a%O^Z-1Jc+8lc81^j(; zdT|;xbNt+= zzniqK%^B==XWD*@!VmV$zW% ztMMO_4ze6Y%zY%YGJ!@6y;Vr)gs19j7Ngi3v(Jq?-Bc)_X5+KB({T0k0(`7eSn2Ii0ccO+qrJ?NE05%(shw(u_8m+{mg7 zEw^cSB$q_w%R7u@=X(#p0Llvx|f+VPpWUjr7g4UsYbzN;}I zyilZua+Wo+iQi9?OT3_6W5coYA-TF-La8!N>3WrIxPX>h}?Rgy*P9pJ8#1> z$13{n`xq}mtobvG*LO_?H2twf0GlryAtbP)a~(l6s-gSis8krR`TW37u{ zsA36IZS!|f|12$*Y%hFR+k7AT@eqz4+N9dJGCREK@%l0zV^y%PZF5Q6a#IT?RmkKB zBa)WiTB(VrfwAwDCp|`w1^eNFr1iBufB@gF2KmRlD{Pz@dz6B6mwKM@Vtal_?t=pM z==$?lgbagNaxTCa4H2d-Qf^Mo6)d~ClO9YQ!Xp`i>%kj^jWxq zsOvwei1q7X2+Qx5b5TsHcXJAQww(COCCQRSo@SKa$YE+I<%ZfQp^O}>+qq`v&$+Yw zmu~O=ldNa0_iM>X-mk(2n5Swe1G(1ApxPdT**P517 z46DAN*#*^ai6Q51YVktE1lt)bD605!ujHxX9gzbS0J z@|V`~7ZV+}`hKz{iu_qv=&bq9K^(vVVGIpYZTnYGLL)+-Y8ZsQNiu)p&6bf}XC2G1 zBdN)gi?`wCt>v5$RhPPfJ>vZwW;F9VlzcMnK&rA+4kEV{$V?QxSRdHKFSV?&xA(%o ze@A8NL`N2t_y!RA#+}%#{w`!^aFzJ)o}DY#{FZbrEJw&$Fw6T=TW;oDaJ@&-v+&Xh`jm2KVTv6Ej?~Dx;cJC z^MK+r6cBOUgGUg4d-V9T_^ZI*2Y-&#)nMD5Pt*w{wYz-cbG-cQV;;Z{c*S0wgd0tR zCp>t4L7DCFuyJ-Yo!(4st%2HMED*8kBIBUGs~+bv8m~8^uZ3DW%jwT^Cj(WmVA|BZ zHZ?!KjD9P;SCR0gon62{Hb=(l&nQ&3<@-Wjj3UAQgL371=N4N+92>65fbq_7-rT}6 zKN39dM_hnyn?$z6N>Xt!v}G_F_Z2!Dh!76OJ7zL>NP+_$l*3Q^=Cd<1I>Ni=yXE2O zTTH8-A4mvAu}@yPvLMNugmHcTb5A!L=ES{L;wS!Jq@wczW`W^|D)HxoDd5;A-Rnc%UqO=^Nuqf28MeWXaTN#*fI?{c3 zV44ZXR>#{KK0(Zk)9bPvt;P&N`(iesx`=yZtvCBMmg;;P2^Ddn&JO75+t8t&R%r(D zTeolKFKs3XLErAzN(en_8x~qqLl4zZF8wFgAEG$eVop+Q zqpY9O8jzQ=_p#x|G47H_0y4;c5g4Q?#Pxz|XOo_De zTyB)Jd#bj3p#`0&T-TYc!BvKn@rgyBYz72HxC$kej3rQg9YkFsV!8PXwUl4F(ypH> z_B8}A_gJKQ#;%p^&e_RQ27)cAe%`}{$_J@EzW?O@O6%KWUDd&TiCfcYeN=ix@g&G+ zAuTW9t5($?qc*DatZ}{TOdSpN*-RV?;2xLsOZ_;vsNx!Wn^GY@0dLW#HFMdanb`2f z`J=vtzJ;Ov9P&y|>ARya0&FD-ft3Xe6h7Aeio+n}=n$@|nW!n3qmI1&X-HpNdl;Mr z>XkEP-cXuA5t_?yT#Nskp5~F*cYz!GN4E-o+FfxJCk@d=udJmpdx5)EDu{eYRN;kesN1tnAk8WG+GIR+ii{W2cAg;aIAu>^Cg!`k>ZLDYzPHOX>Lb z8tQg|t6w5D#P@2Bv`eP=zsfspy1<0sKL9E>b@za^vgPkau=sC+KfN0AiTSi9Rcy3U z!VF~5ThpLdV1(O@OP;iKn{Fl1F{O$T`lkMU@K;gbRMpf5=rbq7oeQEP_*ecscw0qt9PV@rf4F6cD#joqlN2-*J~4( zm8GJwm`Fh~G*nQXwRQJAWfKMtXWj=YLO)kdZ}wdFb8?g(7@XznPyQTC2kRK40o48I zzt^H1pY#N{q*-$X_W4}Vqp$x0^&&q9ghFCWTsFL^4vwyhnfrW8=_^ zT`c4~#{M51y%yIM$RlOzF`nZ2Ct__*-IVrMvbgN9GU*K+u-%a_q=jW<*nLosPpz%U zIXE1y^~M>tHOqhNcFe3ITx-~v4At20Jz^Gn3|}iBy>ja2zDE^vEY%yE-ISsmqq>4n zbO*1$c-9WVA|^lB(v-zy5!;OwmAf2yg+u>i@5xyzUuDyrPZ%v#6=s1Py^ozD4%7i2 zz;!V7@Z0R*dN)afWlJCgp+If8r}i7_og}4*1%} z5ze}IM#kB4|2B;vZFej}DP0N9cIuV3xf`ORcCqaHZR9;VUL!o$l%Bz%a$|pqlAxK5 zfox(Vkt5tiSVqvU5@n$Zg##SkNll4?kvxfdkA+uZ#_q%Vbm8nZs^Fn)bZg; zp>|!bLdfnlJoEAex;uFI*OQ7D|I^K>T9@S7^u|%Y+foSF@2VvflV?Y6GRko@TadLg zHMx?wokA2TMc_RX)XuP6h(z}}hB7wi)LREm%9RMFmIr|_r~ha%f6j1HqdHY-4{BP~ z(uU9|cV;N7e^1j`DU>_NPhcbR^@Z8*QgGG_1=Fs?Y&1 zV7E^wha9rG_XjNe){Mxfy%2*Zmw(5Qp~9g|yTuUgvVm z7wNRHDvAfQ4ils9R;bV!;XAif!)9~92!Tr0!YMt|h}Exzs1xa#(@qFapF7ej|4CON zL|IfiE+(`F5t1{I7pVfMeEz%exBAxlAJX?UbB-_;>r^$TDlQO~67W{se6^wC>MrNu z^&FEl!EmnG=gvlkf+zx1USb35&7Ci2_bQ#!UrP0h3J>MNZ1YWw`+p(CY~5D|#fHUI zioEa@YUX05(3jYEh}e08&jFfm9Sv@e)vf4pP$8X}7qXRzYJcM|L^1&;^1E2RC#F9Rf6CSB19<$n~rbc0~r6Kb)e1S2A;1yAwg} zPw|%FU_&~rtO_AA59vBs~S-qYvX5w z_|4?~pY_T=y~7*#!<=T9w+fe9<0k#@s&bjP9L@q+a|7w6aJ(e zEsj1)+MlQBl-$1URIz$N+#Z4p`tLh;il4{FNW+TP2QK%*7$J__8w5tWxb$hxG%~|# zZcKsx&Y0pEu@16YXw2?=gZKRF*O>1ei%pg9;5u#f+!4uW46r{)@R5&NcrWCVrO>eJ zm1+EAX*5%j64~-eSAr_TQEfkVj!WI#=P7Ul6M*5ZE0monUJ|Q}RQYp$xmLmj#l9go zzfp?GSb-+FH?6BD28gCX{QlwL{;o5vvsh6nH4L2}WgT%kRCbKc*HCRP9)+w~`MPeU zZxx=Mb~CCCNE0vS5npT-JN2OV9o%C~4vB`Ifx9XYeeLLcj6?!bo2E+}juV_en%<)`>V|E>-mmm)atd!4pT*1J~nO_jPRq$HXc+ zOV3gQ3tewN5tT<$^INXTUcHJx!7G1m;q%79@-*rHb|vf4SszJz9YZ6|iKe0>#?0SE z#qUcfqwmQwdZ|{~j}>j0noPob1f%lcxZ9WaY)Y2Jv0nRdxIIfck2rh<%^M!T@npym zwuJd}#rU4G^~veeG0cdqDt25HnUNwS)7jnFNcV53^a9fb7=cQR9KI$;(>4rSrc<)J z&zb*W`8ZqK)s8(PSQVFF=ow#pbIEo!5BIDG}&Nq?q=nnt*z+3N{?y zKNZeeUm6esIr!o8qJbxV2x2CJw1im4uS}z_ zGV*yPZr-kS%ON4vA`_2}YZBS%WnRKTPC?fC+K`W_?-Vrja=)`lhG~a~aAi$G)c_=xOeYpCqV7QMs4Q!s+=S z_SmIFQ|3l**Cgp1h}(Bu=lMPSiv>;?0f|E?z=DKsm&eJ;5W4Qa_pd8xeWN8|dPAx3 zhcMGlXFzA1PVlbCM{F}+8ieA$OeB!MTb9{h_uaR~_`jlI9AI7ST?`zV3g5K?ih(JT zBe!=DS=Apc0u13`T@j7eiiABq1tE4MevqaZ-|jH8_8f|B(61uJBq8v7ouB6R+oUO9 zy1(!Ho>h>f-N{TLm-3{m%9gadIu)+BnFPH*4dP6&=s&G$9;vPWQKCu8uCUAxg;t<605{Xc0PVhp|BqX3kRpn zmO79p+^RhA`IHRuc;JLsds2~94VZfFTDp3C$ehCjQh(;X)BlI{tM+Q!(m@gF<@*h# zw-*P-wcgl^BhBQ|Y2G&}C#bf?=eNTSYNNkXq>@DTF;zXkCno(;SnG@?7)ytxM4*OK zen|g=Qs@f#S$1(TomAVRmY?H|gO~>mX0YVr}(*+3gkX$u@MRuv9|yaxyBa&7q4gU5}|?#b`qLopUg7d9SKHM zaIB;~U`7eUvBq0WlwH0eA<`BJr)fd~jbYHKvctfF63dyo$rP%oyd$go@BH8dqS&mg zUwU{By$i}}i3jWcIrFK(<;Wc6zCFF_vh3_vgAZt->)=XFzwq^J;aX8RO2%U1Q8yv5 z*a6J*J#$%>S3^kAoCy%IA%IExg|!QesB1hQgVMX*3ja!*@XaO;#Fg28EestV;R*fc z5VX(62UTHxRf_D=U!!R(|L>LxLI=lBeh%*Q=i3+2iu;ys<|i{nKj(`&o6~@9jS!gP z_0XwCx~kJ4DgTQm0gHjcbS$k%DRE_~k{r&S4qXth(eFwn7-{kH;Hmwh&MHJ9;2+Bp zOSRd4F9~t#+0Vq@<0*F&rT-Sc0$P>Qt?WJXEr(Ii;eRy1m6sTh-6c*Pm_TBHNsl%o z@EF2?J8G7?PQ1h_HFOg46O#LgJecfqjKdLkU|W&TpfUO*EKwf)E^F?z-)74jF}e7f zIK5hPI2WLlg>Uls^m|R@dD<)eg+qM#y>1yZF2LTUe7%W2J>v~si2(M~@{qS_?l#=% zY%I61vi|7UKfl2}3^`s=mROkj_0J(X>e4KZ(y`)$)O7elJ(s(lv#c>%SRhx>H^Fe# zGu4`7L^0)^KeH?|#slG_#TSDQy=sRyf1bKLH~sH&e7|IZdIocR;Gz#a;6OBrEr~!4 zsf^xdZ+xJ~EES4kR=iGFaLSuDr7Bt$uq$9SO(XAp`9ny0+_FhfvgPARzXL}f?As{U z&gv(2yyB~;gxA#CsEqGK@?<`lo23SZ>Ua#U_(%@ZY0neJITTWxTZ%&dt2i(#+zdnm z?7WbgVCI2wee7H?c9RFSE&G2{-XzEu8y5cK`DJ5aHnC^oxx_NHeg{#GYf@Ny{h*2sRh$$wC zE2SgNegXhI=l|Ui5Kplgce*k^5mV zCNqAM9!x++0q9xy+@hm+GZdHBdQVYd0F@~e2p!avmz{-VZN+^h!lr$c1cdm*G`L-I zVXYt;Q?7{+klA(dosKqTd@%jE0YC~aS5BCAWy*|uD~(}R^n=q{ty0Jzw>Sd9VYsKB zOjmV*6Rr|u7X*CH%L-H6JTrrnt zh1M&M%25WvS|U{xtXw&dYkWRzN>W@#L6MUA4{nyDt}Q=PY)@i(AhH8ZyO&gj&t1f; ztW;HvOrkirZw7V`CFVqfOn$l&?IYw-2dBIf8)8haUU?XJOmwG>8;AE;o=B4-`>k}g zzJ}hJ0pza$Hk_kBAg)w!RNC$_$aR&*zqu3D>U9~3k=O&9VXr}8VG2c&cOmWZ?9_d+b=L7~H(5ww$InD6rz7n> zjBE?rlZ!;WF1>PaE)Ujr-;FKFJBskP)|hB2NNOd5XG$)F#aF|;zPIF*-8rcWl)Gfe zK<5H+GEh64*5AzKW9k>~4ZPH0Z_+{-Fb*(+vH$s!NFm%-3C8tOYv%%lgDv(4n`F^} z${=griS=ud0P!b+NFvsmvUPlW&1G<$!mbUNvz^eJ?_lniTPe5Jmqqk*yF76zaA?P_ zGBYG`gmeKX9V9mumlf>34d{lnCyc~I#1m`)4OHmA%zFJ>70rbl1wcR-BNa z(jrCZnVGvgu+vsDvDF&BdX-ynKhDYl-xvPm5`XqewD8vfbcX2*fR758VgF7SPM~!$ z05-}=+;^2u?A+M%$h0_EYF9FrKjzwYuVTTKZVqg@8ttonHLW0%D&F<*iv#DX*$vn> zs{5BltTIu)_-eEX>M~M>o#4>bV0SG3!mvSxkyy!)x1YMBh>Bc2(|yfJ`7C7mGyh%A));$IA@A1P++yLe_TMF@M4aU)3H57CKjVEmNn9VXXNfWBVs)<4#m*s{RzQg6je+7z zF`SGEh-d!n32&k`0S7j5HNNiNA_qoL4!`TXNJ$2w@91@De6H(RSZT`Dmbl}sc(+xc z)Arq@=C4{Hk*znTT7_dEO-sdHey|I76AO=7P>zhRXiCq!tPdf3xXf;aDtKoe24LN2 znq;3=9{gcekTV)^XdtD!IWn%nMb7_v?j@hSg(@}twu$sOBA zm>PB1Kk7B8b^OHMd(^ik!4c5Pmvc&>(y`FdYZw(IV+_?AkRRmbb;R!?zvtBO3tGLf zDBBVXF|nqdwNxsX*f@DlS6eT=ZPk_I`F;i`KP=Q_4U4=Pw6y!Kk-w>*ATmv8Z_#X- zAXSun^JhV!N}@T9!?%-Va_1}GYjf$#X-)t{uVLpzoZTv3w((4nJo>Ket$*CZ7I*o8 zXpYKwzs|MkGEp#wX$l-(_+AKDnYf}`*{a3^yn>Y=xD&r~Aubc%?^Z%=TVA;zSZQa{ zDqrll{NV8q(!a=9_dq=cc)_D%cJ* zpb&(437Yu_O>@1){j20^R$4*0pB=B>)5EkH%FOcBkda*RxU;r^fS_?)Sf|q!bDxtK z{>+onlzGWmhJ&xwMw~witvW*>#38xa&G#Rv&;Zmq^7CEr^lyVw9ocL}-lS6P9I?>W zW49y0pA{MEC0Df0@g-DwT+MpHDPQG`DfkfCeBE=__uswhuLKUZCm$~D-ULs~m{@v9 zRTVG|Vd^qHCF@(Fl|%z;Ag zPF38%Bu!yFvnsS@!0a`avuN;J1qj@-owb6LOnpnMX~T=44~`7md%l$U%KcBd0!; z>9Zk>V#Q&`wQtlwNs#sYs8kfQzo6mt?f}%{3kx<4zZj(ljy82i1wxEs%uyF-v2fh* zQ_S<v!j^gq`rT+3mVA zqNNC{{ggu*%YEG~5^SB9E;Ix09-v5+Mj?!?;*GAslm394TmUt87k2o)a(p~w%Rd@iTR15gsKSdNr z0JFLfJ6YB&oXCPNp3QK5bh|mvVT`SKhVcJRKKx>p^5<#o2?c9Z@B04PL?_M*nM1-( zjE@LIv7_4ZN(HwT+dH=!Rop{5jHVrzN$~pHoL{yfMsm560{k;*#vGyIyRI#TACkc; zol0)GuYkurivQ>Uy;lzDYj>DRrU7&h{Z90f_urz*hyX%%_Y+0O;JHwuGUF%Qm{rw{ z1_}iWeryl2rH}VIsr_Suo?AM}Kn1D0AkyP;F`(#l8yK99V}(}#gMIC)V0V)0wrKzPoO0o{80a?fNagalk^RqS!c?xxw|S5z|$G^+yGTQ-Tr5j-sfDO8`Xlh{gH zE>M7K^SD4IS`d531SOZd5$$x4K@Rm!`lkW@kVvR@YxtlhcEF`#-npVq<)xDaUOA{| z=(I`ktP3&DB;@0NB_p$Wx`?t(gk zXA92?&Y#!jb_;!tGam`~cj*e;k3|d@ZI>Td6Ox%zPYxFGX3C$xN1}D}LCRJDajLo_ zn-4a6tpRhPH*__4oQjIgKH0S07dXJ9xyBh7xcTt@4u{r{#-ipK{9wH$=VL}Dw!hYP zHJ$Z>-tfxu@^p3*K+l1*jD zA0!2z?$ATg_x{;JZ_BKy4yJ{Hqo~F9VX)1T-l}q+7Hq_b-2ZPbCcwR*R;HPyXF!+I z<6-n!L6$&!Y3beea`J*yz}}K9-&vKZg)^Z z;aMbwa&hkEAkQ0Nf6@)BK|#0~=&i)xqh6C&o4aVh-6i^?`7CXeDmif7&sX6*WS_5E z?H8tNbYD51j$HO zCgA~XYholOtlim4k#_BcVa#rdG|xlX7}u1sEN=tN;@?U>a?vm0aZG(6)C}wdzJY`ayj&xD)p39E8~dcbtm(dz zGxgPVljJ-q@#UbYLw9IG^CiG==*{FHkjG;X)kmR;IUW?ad(9&}d=8SiLv?$4a>eQA zWd{dJePmsZIW%#>5&!$--YO^l8XOq#Q4D%jQ|9rmUDMuuwT6>)%$oxE=DO-IXBA|| zWd`6!(>M}0$gsUem}8$CR5MY6>ktF<#-mYZ0#U<(FxgTkSsY2xhY)V|uFNX&Vtt!K znEA#+nT;Rl$+5@*WD8}gK`wkXg!%s){(pz!T)OCx)_SV@r##}aK0sAbQ=wYUEcpKb DDkg{z literal 0 HcmV?d00001 diff --git a/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/29.png b/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/29.png new file mode 100644 index 0000000000000000000000000000000000000000..9988d26c927f8160cd34ab9b3bb9fa09e3109380 GIT binary patch literal 1266 zcmVPx(tVu*cR7gwRmT7EMRTze!bC=nNb~@8ap)Dnp0%a-4AfkjNL|hVFVyYNKh>bxj ziTcAt5=~4rG5Q03nSl6%#28|fu&Du*7*PikBTIvbLa(t z@yq>jbI-|nzwdqD?>ko{hL7|3mqYyTKm`I2c({YO{KqO)g@)waB=P}G|@k`Ly17QI#%sc;RmE1so3^&kN)M%F$rHI3;hzB{#^&rZBf zR40?)rjMtDe&!g!PIxhUeh3*rKDxZh&z_fe#WKRP<##t0ahr(M% zpeQPq)s5@gRF==<_PUjnr_$K2foXOT4wun-?nh3xd@0vF&qmjxoNmkT`JP5}J%r~C zp0q>Kt0)?_V_=&-B$HF9pWH-s#X^~}X?NqfE|EwnXU^>9;Gy@JbNAcmdKBBv5eg;Q zcVG?snpYDHmf#K0^QtZ5Q|aqw_I47BRWe~xBV)%l5YVIanqATh{(2~!q_ri(-pp&v zU$B;8!$wI)d>J$?!tO5`X+4uc55(mDfib93AJETKcnV`CEN0@=6-1*WFwIVB1UYS7 zn_whK+o=p+?|6ne3)fO!IU6I_A*B$Cj*&gbuB{DNb~i$3gY+C!sSoJb2F0m5?pUyz zM5-1e`zMZTT`~fAmjGLS+s&Ts%Sg|Ai`x3--1tYJii?8~I^d6IGKMn6cnk4~iqOeydWs8e&9ap)*K^3(D-;dSwXlpX)IgM~DNhiLmU8&3H%N?}&dkR@ zkVC*{M)t7hKOU+Uq^IK~-)~$jlSd|WWn6P2^?~(&g-7-Spng-$9 zY8WwVImb4yLJh_9KV7bkl|3)14=1b1wjROv!oUH4c>;xj`bW49YPd*NVP9-VXnG%g z(r}I`DOLjEA!)sV`!rvbG=fjx6?*xPx)BuPX;R9HvtmRW2RbsWb(Gdnx8yFGWeP+$e2EoTpqf=a6v2!X_Cy%0!>5ex)W zBnEx(Q4>j&L=+!Lj7La3A!tyJ2SKEON01U|6OAntR1DA-%I>ziJGYtHQd^)0r05I3 zr%7h=`+fi4TxVXLH!IHQ$f7KEOo zGW!XdI)7oq-wRPZ8LkvpYRCYHf(OesNg7dt(kQCJ%c%_2xC5Pcd(LlUciToXrI7pG zkO2^cw5d{h3|R~?BX1G2hp!~;8$-g1Vb~geF`JK?meUwNgip%CwugWL$6SudRHMUf zI4L}zs?lqRWR{|%p_`7`1U#ZbhuX>q^^cP>JMainxBfTj0l}qIHb;>G&*+po2%pKrF%BO_5c(H*a$2L$oYdx9%5$HxIk`y2sKf|uQi?MCP?R9na z5kmn%^kC?nSf)lKGMlop=gH5XfoY^%{T(?h+rXy;X=`hswstM|S8Zficp9n}bw?>m zE=?!D8$xojwLhU$@;E~fWu2TcvhF5^-shHE*<)`?;H;CM|2(`1V z%kg$vXS+*(C4=@qj!?Jt86>Y`zP|r^2L#ZaSBDWnz)%yEKlK^eBa5+2718T=wKvpw zw|w3}i00Z&oI3Cpav;5si!Eb`H*3g=5lJ^+gxfsOu?LWD zc;pNkK3`3H^C4HRp4aanH{o^Vav3nSB-2)I#p@4JxA|dAM;b{cJYf!zS<46(R-naO zsM}nPnTop+?o0ohW55BhdOK$izE5lYPUNgSY|}tbMqQ5#D|?8H{E7Uz|6N3{;+Ue3 z({!2rhJMSPW|Eh@snxU`-G=D#b`NmO>QHSYV{U>R8TvbUKX*aDfYXb{vijU^>D1W$ s>OR0C8W_M(elh464&~6>4D@8+ACclnALXn^Qvd(}07*qoM6N<$g1JVU9RL6T literal 0 HcmV?d00001 diff --git a/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/40.png b/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/40.png new file mode 100644 index 0000000000000000000000000000000000000000..7f0972fe6fa927ecb56cf99264dc20ca82d38e29 GIT binary patch literal 1836 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 RQYvup| literal 0 HcmV?d00001 diff --git a/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/50.png b/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/50.png new file mode 100644 index 0000000000000000000000000000000000000000..ae37b56ba1cbeb8079364b9f3f34878e6caa37b3 GIT binary patch literal 2388 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 literal 0 HcmV?d00001 diff --git a/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/60.png b/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/60.png new file mode 100644 index 0000000000000000000000000000000000000000..64e40012b2b8c2d93bfd2fbf6de166860b253232 GIT binary patch literal 2953 zcmV;43wHF0P)Px=LrFwIRA@u(ntN~+72 z{0zR{Pn~fYb}1T`V-htRDAFpqJm+R6=FMPZWI2x=yqSQWhwXHn=j-&n3JxQoHr<1mS1*fE(!k1LCP z(XBkPyACwLU7^w)&qJpnUHoBFINW@4bzVC#0QgU zus%aqylL~%aVtKh85Zg)e&R-xY$bz3movWXr<4arkZ@v{b{thvB~bA_k>MlRb!@y^ z7N0h(=jm-XqUkznm0;VZ%(&wuaccoy+;l6S9DWO*p4+M6IO%`|2SwS&jRyRB z0YfULGP-;w!9Xc-GmPU{X`YIv;>hp%z4>h0^KW!LKxLoHu*_&G>o^Fsd{Qe>~ZhH#Di87|@ z4iaWW8W5?@P7;rv!=3}nS+Z^x9(S-EzdM^Adaa~eIcONo*tS96;_onO@Ew#Ej>WR$ zm{wHsxHV%Et|M|}5%3l9&XzxMsCfsIE_?*Th@^!pl|up8=MJ&zz2C8M`(N;TyY9ce zm|+D~bzxa?xzWPhYDNy3OTV%!WEKr8g5so9xBU`jY~v3UvS!1B>^ZQE$rBfYos{K% zbk0pFv8w94^43ipXm}U5o^@(6ECk6;n#2>0WCcp89()Vms;tHB$-ywfl6!59Ln~mR z#Nx;2FJSeC2iU%20oPsqCVo#|N}biCW<#pB>L%Q>m!)sil5`UCb8$VBbwWy7s;c8i zo@#o4f#=myGw2qw1LYV-6G_Y?g7no*2_+WU*0mt()<3|;4<2R84_~LKU>FG_j0j@e z<=9CXz>jw?;_X#;>(9rwJGYZj*dQMAQ8l^S4J{S{jF>K_VU|C-+>cYkorIx!0h%+_HRI zZD405Cc(ON6kB2S%3rc|>))suHiwJHJtWKcSV2oYP248{HXPp0>#t5jQAOy4_+`f5 zZUJs}Kk--t9(OiX)iW4aJ%fO^fVdF`!NoS>(h*?6K~?ie&i{A$U3|RbpOjZjVc&y>L#j)wxQk!V7cRNu-;3_X7?q2i(P zn&`2qNv7*1#6{J-IF`YhW%saq*AlXWl}xy50a>{fX(x45k-z#xX*fJNtbX$zc7L=8 zuP?7#{LMJSW}=zA!Wyba-$_Zur6e5_%V?1qO*y2lm*BSM&ccY*v+A`u96YcNT?=sW z#3wjsz-1WmhOPsrsMuzlWs7QwHt)ry`?|&7t^q5m1U6*UT!w!87uZRQSj!hFpc#~J zYZ#oQh33g7+O&^VOK+hmyi2x{VVB&`;PY=M9u?2*qDq`3E_W97``=~7k{{#Jz1`w& z>t4E0X$9L#;LAFPzJsr!a`2DH3YKG7&Dd64PBqfscBC1KFiI9~PcDu1AF_JsEE3T} zB#k)zYo;^u@&_?u4e9Bq^C}T;%i}9x`-aDPf8~RC1Kn#!83InVfuzxb5s%={EvNs` z8|YV4MUTp5GZy*d}wEhG@C#4?(Xv5g(J zGRH>u1Ua~C1?v{ilD~`K^<;Gm@R71eXIuzcBHl})weYUH&8@wpiLgfokW z_p^3Et?a{!D>a?t%#Y|J|b$FZdO=P-J8R~ ztuM1>@!hz6**(r~*Ty5$U46~>1V_cxQ(Scg!>)T0A#$x|#j%CpIH@5at?C^LmgH|9 z+h4t(ee0jWoz-*x_BvoAdYHWPE@i~jc_h;#qdalcd?>mb+lXPCv2-8rycchHb~-JG zK16eOZyY?Xw$z=3%f8uinEa{<)YSb|nip&v-Jip*6^~&we?hhiFE z?Q?vz_&z+rl<>&mLmcTQL?0KxOE^bld`unQyfVpeQSMvjPbX3TX^+Oilg{B#)p&;8 z^fb{g_po{1RP02HJjZI=M`a&ZRjfo5Bie{JR6^14YbhT;hs5E%YRhH{$l^WoG(i#$8zPh~%v1%{n33?bSXkl-7zhlHGp{wvizE*;Z6J za{-Hv+eZ$ zU1tIJevD7;8_s6<)W*N}-+ng3y&vOK`-cAkbCDkmd+Lr?00000NkvXXu0mjfDjUEk literal 0 HcmV?d00001 diff --git a/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/64.png b/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/64.png new file mode 100644 index 0000000000000000000000000000000000000000..8a50e0a5384315291806d8bb0a63d6f4267feaa6 GIT binary patch literal 3289 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 literal 0 HcmV?d00001 diff --git a/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/87.png b/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/87.png new file mode 100644 index 0000000000000000000000000000000000000000..00531ea76f6994fa6ea8f963910593698c4e1d73 GIT binary patch literal 4887 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 M07*qoM6N<$g0^Q|5C8xG literal 0 HcmV?d00001 diff --git a/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/Contents.json b/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/Contents.json index 0b670260..ffab2548 100644 --- a/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/Contents.json @@ -1,53 +1 @@ -{ - "images": [ - { - "idiom": "iphone", - "scale": "2x", - "size": "20x20" - }, - { - "idiom": "iphone", - "scale": "3x", - "size": "20x20" - }, - { - "idiom": "iphone", - "scale": "2x", - "size": "29x29" - }, - { - "idiom": "iphone", - "scale": "3x", - "size": "29x29" - }, - { - "idiom": "iphone", - "scale": "2x", - "size": "40x40" - }, - { - "idiom": "iphone", - "scale": "3x", - "size": "40x40" - }, - { - "idiom": "iphone", - "scale": "2x", - "size": "60x60" - }, - { - "idiom": "iphone", - "scale": "3x", - "size": "60x60" - }, - { - "idiom": "ios-marketing", - "scale": "1x", - "size": "1024x1024" - } - ], - "info": { - "author": "xcode", - "version": 1 - } -} +{"images":[{"size":"60x60","expected-size":"180","filename":"180.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"40x40","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"60x60","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"57x57","expected-size":"57","filename":"57.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"57x57","expected-size":"114","filename":"114.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"60","filename":"60.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"1024x1024","filename":"1024.png","expected-size":"1024","idiom":"ios-marketing","folder":"Assets.xcassets/AppIcon.appiconset/","scale":"1x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"72x72","expected-size":"72","filename":"72.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"76x76","expected-size":"152","filename":"152.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"50x50","expected-size":"100","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"76x76","expected-size":"76","filename":"76.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"50x50","expected-size":"50","filename":"50.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"72x72","expected-size":"144","filename":"144.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"40x40","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"83.5x83.5","expected-size":"167","filename":"167.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"20x20","expected-size":"20","filename":"20.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"idiom":"watch","filename":"172.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"86x86","expected-size":"172","role":"quickLook"},{"idiom":"watch","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"40x40","expected-size":"80","role":"appLauncher"},{"idiom":"watch","filename":"88.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"40mm","scale":"2x","size":"44x44","expected-size":"88","role":"appLauncher"},{"idiom":"watch","filename":"102.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"41mm","scale":"2x","size":"45x45","expected-size":"102","role":"appLauncher"},{"idiom":"watch","filename":"92.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"41mm","scale":"2x","size":"46x46","expected-size":"92","role":"appLauncher"},{"idiom":"watch","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"44mm","scale":"2x","size":"50x50","expected-size":"100","role":"appLauncher"},{"idiom":"watch","filename":"196.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"42mm","scale":"2x","size":"98x98","expected-size":"196","role":"quickLook"},{"idiom":"watch","filename":"216.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"44mm","scale":"2x","size":"108x108","expected-size":"216","role":"quickLook"},{"idiom":"watch","filename":"48.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"24x24","expected-size":"48","role":"notificationCenter"},{"idiom":"watch","filename":"55.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"42mm","scale":"2x","size":"27.5x27.5","expected-size":"55","role":"notificationCenter"},{"idiom":"watch","filename":"66.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"45mm","scale":"2x","size":"33x33","expected-size":"66","role":"notificationCenter"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch","role":"companionSettings","scale":"3x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch","role":"companionSettings","scale":"2x"},{"size":"1024x1024","expected-size":"1024","filename":"1024.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch-marketing","scale":"1x"},{"size":"128x128","expected-size":"128","filename":"128.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"256x256","expected-size":"256","filename":"256.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"128x128","expected-size":"256","filename":"256.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"256x256","expected-size":"512","filename":"512.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"32x32","expected-size":"32","filename":"32.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"512x512","expected-size":"512","filename":"512.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"16x16","expected-size":"16","filename":"16.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"16x16","expected-size":"32","filename":"32.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"32x32","expected-size":"64","filename":"64.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"512x512","expected-size":"1024","filename":"1024.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"}]} \ No newline at end of file diff --git a/ios/Podfile.lock b/ios/Podfile.lock index fd4c494f..d5561fb7 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -456,6 +456,8 @@ PODS: - react-native-mmkv-storage (0.9.1): - MMKV (= 1.2.13) - React-Core + - react-native-netinfo (11.2.1): + - React-Core - react-native-render-html (6.3.4): - React-Core - react-native-safe-area-context (3.4.1): @@ -594,6 +596,8 @@ PODS: - React-Core - RNGestureHandler (1.10.3): - React-Core + - RNLaunchNavigator (1.0.9): + - React - RNLocalize (2.2.6): - React-Core - RNPermissions (3.10.1): @@ -639,6 +643,10 @@ PODS: - libwebp (~> 1.0) - SDWebImage/Core (~> 5.10) - SocketRocket (0.6.1) + - VisionCamera (3.8.2): + - React + - React-callinvoker + - React-Core - Yoga (1.14.0) - YogaKit (1.18.1): - Yoga (~> 1.14) @@ -670,7 +678,6 @@ DEPENDENCIES: - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.182.0) - FlipperKit/SKIOSNetworkPlugin (= 0.182.0) - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - - Google-Maps-iOS-Utils (from `https://github.com/Simon-TechForm/google-maps-ios-utils.git`, branch `feat/support-apple-silicon`) - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) - libevent (~> 2.1.12) - OpenSSL-Universal (= 1.1.1100) @@ -706,6 +713,7 @@ DEPENDENCIES: - react-native-location (from `../node_modules/react-native-location`) - react-native-maps (from `../node_modules/react-native-maps`) - react-native-mmkv-storage (from `../node_modules/react-native-mmkv-storage`) + - "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)" - react-native-render-html (from `../node_modules/react-native-render-html`) - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) - react-native-webview (from `../node_modules/react-native-webview`) @@ -736,11 +744,13 @@ DEPENDENCIES: - RNFastImage (from `../node_modules/react-native-fast-image`) - RNFS (from `../node_modules/react-native-fs`) - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) + - RNLaunchNavigator (from `../node_modules/react-native-launch-navigator`) - RNLocalize (from `../node_modules/react-native-localize`) - RNPermissions (from `../node_modules/react-native-permissions`) - RNReanimated (from `../node_modules/react-native-reanimated`) - RNScreens (from `../node_modules/react-native-screens`) - RNSVG (from `../node_modules/react-native-svg`) + - VisionCamera (from `../node_modules/react-native-vision-camera`) - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) SPEC REPOS: @@ -755,18 +765,10 @@ SPEC REPOS: - Flipper-PeerTalk - FlipperKit - fmt + - Google-Maps-iOS-Utils - GoogleMaps - libevent - libwebp - - Mapbox-iOS-SDK - - MapboxAccounts - - MapboxCommon - - MapboxCoreNavigation - - MapboxDirections - - MapboxMobileEvents - - MapboxNavigation - - MapboxNavigationNative - - MapboxSpeech - MMKV - MMKVCore - OpenSSL-Universal @@ -787,9 +789,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/React/FBReactNativeSpec" glog: :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" - Google-Maps-iOS-Utils: - :branch: feat/support-apple-silicon - :git: https://github.com/Simon-TechForm/google-maps-ios-utils.git hermes-engine: :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" :tag: hermes-2023-08-07-RNv0.72.4-813b2def12bc9df02654b3e3653ae4a68d0572e0 @@ -853,6 +852,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-maps" react-native-mmkv-storage: :path: "../node_modules/react-native-mmkv-storage" + react-native-netinfo: + :path: "../node_modules/@react-native-community/netinfo" react-native-render-html: :path: "../node_modules/react-native-render-html" react-native-safe-area-context: @@ -913,6 +914,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-fs" RNGestureHandler: :path: "../node_modules/react-native-gesture-handler" + RNLaunchNavigator: + :path: "../node_modules/react-native-launch-navigator" RNLocalize: :path: "../node_modules/react-native-localize" RNPermissions: @@ -923,14 +926,11 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native-screens" RNSVG: :path: "../node_modules/react-native-svg" + VisionCamera: + :path: "../node_modules/react-native-vision-camera" Yoga: :path: "../node_modules/react-native/ReactCommon/yoga" -CHECKOUT OPTIONS: - Google-Maps-iOS-Utils: - :commit: 35d05d1eeb65682c1b271f4f3760d814fd946aa1 - :git: https://github.com/Simon-TechForm/google-maps-ios-utils.git - SPEC CHECKSUMS: boost: 57d2868c099736d80fcd648bf211b4431e51a558 CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 @@ -947,7 +947,7 @@ SPEC CHECKSUMS: FlipperKit: 2efad7007d6745a3f95e4034d547be637f89d3f6 fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b - Google-Maps-iOS-Utils: d3fdfd57db799771418f06189e33981597553aa8 + Google-Maps-iOS-Utils: 3343332b18dfd5be8f1f44edd7d481ace3da4d9a GoogleMaps: 032f676450ba0779bd8ce16840690915f84e57ac hermes-engine: 81191603c4eaa01f5e4ae5737a9efcf64756c7b2 libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 @@ -985,6 +985,7 @@ SPEC CHECKSUMS: react-native-location: 5a40ec1cc6abf2f6d94df979f98ec76c3a415681 react-native-maps: bea0a31ac1c8c5974ceb1b16b301d72d847c6fb0 react-native-mmkv-storage: cfb6854594cfdc5f7383a9e464bb025417d1721c + react-native-netinfo: 8a7fd3f7130ef4ad2fb4276d5c9f8d3f28d2df3d react-native-render-html: 984dfe2294163d04bf5fe25d7c9f122e60e05ebe react-native-safe-area-context: 9e40fb181dac02619414ba1294d6c2a807056ab9 react-native-webview: 88293a0f23eca8465c0433c023ec632930e644d0 @@ -1015,6 +1016,7 @@ SPEC CHECKSUMS: RNFastImage: 5c9c9fed9c076e521b3f509fe79e790418a544e8 RNFS: 4ac0f0ea233904cb798630b3c077808c06931688 RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211 + RNLaunchNavigator: d855643e1f842f13c6cc65575e0755975667032c RNLocalize: d4b8af4e442d4bcca54e68fc687a2129b4d71a81 RNPermissions: 4e3714e18afe7141d000beae3755e5b5fb2f5e05 RNReanimated: ab2e96c6d5591c3dfbb38a464f54c8d17fb34a87 @@ -1023,10 +1025,11 @@ SPEC CHECKSUMS: SDWebImage: a7f831e1a65eb5e285e3fb046a23fcfbf08e696d SDWebImageWebPCoder: 908b83b6adda48effe7667cd2b7f78c897e5111d SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 + VisionCamera: 4b98b273902ac18491bb68481b6601f1f0da0f2d Yoga: 3efc43e0d48686ce2e8c60f99d4e6bd349aff981 YogaKit: f782866e155069a2cca2517aafea43200b01fd5a YoutubePlayer-in-WKWebView: 4fca3b4f6f09940077bfbae7bddb771f2b43aacd -PODFILE CHECKSUM: 39ec3329bfce7da538889a9c08c6e9f2d5cd79d0 +PODFILE CHECKSUM: 8640abcdca19c579ec36476d02191b0c88e7f502 -COCOAPODS: 1.12.1 +COCOAPODS: 1.14.3 diff --git a/ios/fastlane/Appfile b/ios/fastlane/Appfile new file mode 100644 index 00000000..3491b5f4 --- /dev/null +++ b/ios/fastlane/Appfile @@ -0,0 +1,9 @@ +app_identifier(ENV("IO_IDENTIFIER")) # The bundle identifier of your app +apple_id(ENV("APP_ID")) # Your Apple Developer Portal username + +itc_team_id(ENV("ITC_KEY")) # App Store Connect Team ID +team_id(ENV("DEV_KEY")) # Developer Portal Team ID + + +# For more information about the Appfile, see: +# https://docs.fastlane.tools/advanced/#appfile diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile new file mode 100644 index 00000000..ff656d43 --- /dev/null +++ b/ios/fastlane/Fastfile @@ -0,0 +1,28 @@ +# This file contains the fastlane.tools configuration +# You can find the documentation at https://docs.fastlane.tools +# +# For a list of all available actions, check out +# +# https://docs.fastlane.tools/actions +# +# For a list of all available plugins, check out +# +# https://docs.fastlane.tools/plugins/available-plugins +# + +# Uncomment the line if you want fastlane to automatically update itself +# update_fastlane + +default_platform(:ios) + +platform :ios do + FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD = ENV["FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD"] + desc "Push a new beta build to TestFlight" + lane :beta do + setup_ci if ENV['CI'] + increment_build_number(xcodeproj: "NavigatorApp.xcodeproj") + build_app(workspace: "NavigatorApp.xcworkspace", scheme: "NavigatorApp") + upload_to_testflight + slack(message: "Successfully distributed a new beta build") + end +end diff --git a/ios/fastlane/README.md b/ios/fastlane/README.md new file mode 100644 index 00000000..891747df --- /dev/null +++ b/ios/fastlane/README.md @@ -0,0 +1,32 @@ +fastlane documentation +---- + +# Installation + +Make sure you have the latest version of the Xcode command line tools installed: + +```sh +xcode-select --install +``` + +For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane) + +# Available Actions + +## iOS + +### ios beta + +```sh +[bundle exec] fastlane ios beta +``` + +Push a new beta build to TestFlight + +---- + +This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run. + +More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools). + +The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools). From c4a492bb5aef8ee1170fd4e857a5380feacde235 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 2 Feb 2024 10:44:52 +0800 Subject: [PATCH 002/167] added clean command --- .github/workflows/react-native-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index 1cad25e0..49fbe6d2 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -97,6 +97,9 @@ jobs: - name: Install dependencies run: yarn install + - name: Clean CocoaPods Cache + run: pod cache clean --all + - name: Install CocoaPods run: sudo gem install cocoapods From 695f75efeed564c47d4897be27b1b14afca56fd9 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 2 Feb 2024 14:05:50 +0800 Subject: [PATCH 003/167] removed --- .github/workflows/react-native-ci.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index 49fbe6d2..1cad25e0 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -97,9 +97,6 @@ jobs: - name: Install dependencies run: yarn install - - name: Clean CocoaPods Cache - run: pod cache clean --all - - name: Install CocoaPods run: sudo gem install cocoapods From bbe7566e93aab5939bfb265b9ab4a5b82db5a60e Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 2 Feb 2024 14:30:39 +0800 Subject: [PATCH 004/167] removed podlock --- ios/Podfile.lock | 1035 ---------------------------------------------- 1 file changed, 1035 deletions(-) delete mode 100644 ios/Podfile.lock diff --git a/ios/Podfile.lock b/ios/Podfile.lock deleted file mode 100644 index d5561fb7..00000000 --- a/ios/Podfile.lock +++ /dev/null @@ -1,1035 +0,0 @@ -PODS: - - boost (1.76.0) - - CocoaAsyncSocket (7.6.5) - - DoubleConversion (1.1.6) - - FBLazyVector (0.72.4) - - FBReactNativeSpec (0.72.4): - - RCT-Folly (= 2021.07.22.00) - - RCTRequired (= 0.72.4) - - RCTTypeSafety (= 0.72.4) - - React-Core (= 0.72.4) - - React-jsi (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - Flipper (0.182.0): - - Flipper-Folly (~> 2.6) - - Flipper-Boost-iOSX (1.76.0.1.11) - - Flipper-DoubleConversion (3.2.0.1) - - Flipper-Fmt (7.1.7) - - Flipper-Folly (2.6.10): - - Flipper-Boost-iOSX - - Flipper-DoubleConversion - - Flipper-Fmt (= 7.1.7) - - Flipper-Glog - - libevent (~> 2.1.12) - - OpenSSL-Universal (= 1.1.1100) - - Flipper-Glog (0.5.0.5) - - Flipper-PeerTalk (0.0.4) - - FlipperKit (0.182.0): - - FlipperKit/Core (= 0.182.0) - - FlipperKit/Core (0.182.0): - - Flipper (~> 0.182.0) - - FlipperKit/CppBridge - - FlipperKit/FBCxxFollyDynamicConvert - - FlipperKit/FBDefines - - FlipperKit/FKPortForwarding - - SocketRocket (~> 0.6.0) - - FlipperKit/CppBridge (0.182.0): - - Flipper (~> 0.182.0) - - FlipperKit/FBCxxFollyDynamicConvert (0.182.0): - - Flipper-Folly (~> 2.6) - - FlipperKit/FBDefines (0.182.0) - - FlipperKit/FKPortForwarding (0.182.0): - - CocoaAsyncSocket (~> 7.6) - - Flipper-PeerTalk (~> 0.0.4) - - FlipperKit/FlipperKitHighlightOverlay (0.182.0) - - FlipperKit/FlipperKitLayoutHelpers (0.182.0): - - FlipperKit/Core - - FlipperKit/FlipperKitHighlightOverlay - - FlipperKit/FlipperKitLayoutTextSearchable - - FlipperKit/FlipperKitLayoutIOSDescriptors (0.182.0): - - FlipperKit/Core - - FlipperKit/FlipperKitHighlightOverlay - - FlipperKit/FlipperKitLayoutHelpers - - YogaKit (~> 1.18) - - FlipperKit/FlipperKitLayoutPlugin (0.182.0): - - FlipperKit/Core - - FlipperKit/FlipperKitHighlightOverlay - - FlipperKit/FlipperKitLayoutHelpers - - FlipperKit/FlipperKitLayoutIOSDescriptors - - FlipperKit/FlipperKitLayoutTextSearchable - - YogaKit (~> 1.18) - - FlipperKit/FlipperKitLayoutTextSearchable (0.182.0) - - FlipperKit/FlipperKitNetworkPlugin (0.182.0): - - FlipperKit/Core - - FlipperKit/FlipperKitReactPlugin (0.182.0): - - FlipperKit/Core - - FlipperKit/FlipperKitUserDefaultsPlugin (0.182.0): - - FlipperKit/Core - - FlipperKit/SKIOSNetworkPlugin (0.182.0): - - FlipperKit/Core - - FlipperKit/FlipperKitNetworkPlugin - - fmt (6.2.1) - - glog (0.3.5) - - Google-Maps-iOS-Utils (4.1.0): - - Google-Maps-iOS-Utils/Clustering (= 4.1.0) - - Google-Maps-iOS-Utils/Geometry (= 4.1.0) - - Google-Maps-iOS-Utils/GeometryUtils (= 4.1.0) - - Google-Maps-iOS-Utils/Heatmap (= 4.1.0) - - Google-Maps-iOS-Utils/QuadTree (= 4.1.0) - - GoogleMaps - - Google-Maps-iOS-Utils/Clustering (4.1.0): - - Google-Maps-iOS-Utils/QuadTree - - GoogleMaps - - Google-Maps-iOS-Utils/Geometry (4.1.0): - - GoogleMaps - - Google-Maps-iOS-Utils/GeometryUtils (4.1.0): - - GoogleMaps - - Google-Maps-iOS-Utils/Heatmap (4.1.0): - - Google-Maps-iOS-Utils/QuadTree - - GoogleMaps - - Google-Maps-iOS-Utils/QuadTree (4.1.0): - - GoogleMaps - - GoogleMaps (7.4.0): - - GoogleMaps/Maps (= 7.4.0) - - GoogleMaps/Base (7.4.0) - - GoogleMaps/Maps (7.4.0): - - GoogleMaps/Base - - hermes-engine (0.72.4): - - hermes-engine/Pre-built (= 0.72.4) - - hermes-engine/Pre-built (0.72.4) - - libevent (2.1.12) - - libwebp (1.3.2): - - libwebp/demux (= 1.3.2) - - libwebp/mux (= 1.3.2) - - libwebp/sharpyuv (= 1.3.2) - - libwebp/webp (= 1.3.2) - - libwebp/demux (1.3.2): - - libwebp/webp - - libwebp/mux (1.3.2): - - libwebp/demux - - libwebp/sharpyuv (1.3.2) - - libwebp/webp (1.3.2): - - libwebp/sharpyuv - - MMKV (1.2.13): - - MMKVCore (~> 1.2.13) - - MMKVCore (1.2.16) - - OpenSSL-Universal (1.1.1100) - - Permission-Camera (3.10.1): - - RNPermissions - - Permission-Contacts (3.10.1): - - RNPermissions - - Permission-LocationWhenInUse (3.10.1): - - RNPermissions - - Permission-Notifications (3.10.1): - - RNPermissions - - RCT-Folly (2021.07.22.00): - - boost - - DoubleConversion - - fmt (~> 6.2.1) - - glog - - RCT-Folly/Default (= 2021.07.22.00) - - RCT-Folly/Default (2021.07.22.00): - - boost - - DoubleConversion - - fmt (~> 6.2.1) - - glog - - RCT-Folly/Futures (2021.07.22.00): - - boost - - DoubleConversion - - fmt (~> 6.2.1) - - glog - - libevent - - RCTRequired (0.72.4) - - RCTTypeSafety (0.72.4): - - FBLazyVector (= 0.72.4) - - RCTRequired (= 0.72.4) - - React-Core (= 0.72.4) - - RCTYouTube (2.0.2): - - React - - YoutubePlayer-in-WKWebView (~> 0.3.1) - - React (0.72.4): - - React-Core (= 0.72.4) - - React-Core/DevSupport (= 0.72.4) - - React-Core/RCTWebSocket (= 0.72.4) - - React-RCTActionSheet (= 0.72.4) - - React-RCTAnimation (= 0.72.4) - - React-RCTBlob (= 0.72.4) - - React-RCTImage (= 0.72.4) - - React-RCTLinking (= 0.72.4) - - React-RCTNetwork (= 0.72.4) - - React-RCTSettings (= 0.72.4) - - React-RCTText (= 0.72.4) - - React-RCTVibration (= 0.72.4) - - React-callinvoker (0.72.4) - - React-Codegen (0.72.4): - - DoubleConversion - - FBReactNativeSpec - - glog - - hermes-engine - - RCT-Folly - - RCTRequired - - RCTTypeSafety - - React-Core - - React-jsi - - React-jsiexecutor - - React-NativeModulesApple - - React-rncore - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - React-Core (0.72.4): - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.72.4) - - React-cxxreact - - React-hermes - - React-jsi - - React-jsiexecutor - - React-perflogger - - React-runtimeexecutor - - React-utils - - SocketRocket (= 0.6.1) - - Yoga - - React-Core/CoreModulesHeaders (0.72.4): - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default - - React-cxxreact - - React-hermes - - React-jsi - - React-jsiexecutor - - React-perflogger - - React-runtimeexecutor - - React-utils - - SocketRocket (= 0.6.1) - - Yoga - - React-Core/Default (0.72.4): - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-cxxreact - - React-hermes - - React-jsi - - React-jsiexecutor - - React-perflogger - - React-runtimeexecutor - - React-utils - - SocketRocket (= 0.6.1) - - Yoga - - React-Core/DevSupport (0.72.4): - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.72.4) - - React-Core/RCTWebSocket (= 0.72.4) - - React-cxxreact - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector (= 0.72.4) - - React-perflogger - - React-runtimeexecutor - - React-utils - - SocketRocket (= 0.6.1) - - Yoga - - React-Core/RCTActionSheetHeaders (0.72.4): - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default - - React-cxxreact - - React-hermes - - React-jsi - - React-jsiexecutor - - React-perflogger - - React-runtimeexecutor - - React-utils - - SocketRocket (= 0.6.1) - - Yoga - - React-Core/RCTAnimationHeaders (0.72.4): - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default - - React-cxxreact - - React-hermes - - React-jsi - - React-jsiexecutor - - React-perflogger - - React-runtimeexecutor - - React-utils - - SocketRocket (= 0.6.1) - - Yoga - - React-Core/RCTBlobHeaders (0.72.4): - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default - - React-cxxreact - - React-hermes - - React-jsi - - React-jsiexecutor - - React-perflogger - - React-runtimeexecutor - - React-utils - - SocketRocket (= 0.6.1) - - Yoga - - React-Core/RCTImageHeaders (0.72.4): - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default - - React-cxxreact - - React-hermes - - React-jsi - - React-jsiexecutor - - React-perflogger - - React-runtimeexecutor - - React-utils - - SocketRocket (= 0.6.1) - - Yoga - - React-Core/RCTLinkingHeaders (0.72.4): - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default - - React-cxxreact - - React-hermes - - React-jsi - - React-jsiexecutor - - React-perflogger - - React-runtimeexecutor - - React-utils - - SocketRocket (= 0.6.1) - - Yoga - - React-Core/RCTNetworkHeaders (0.72.4): - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default - - React-cxxreact - - React-hermes - - React-jsi - - React-jsiexecutor - - React-perflogger - - React-runtimeexecutor - - React-utils - - SocketRocket (= 0.6.1) - - Yoga - - React-Core/RCTSettingsHeaders (0.72.4): - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default - - React-cxxreact - - React-hermes - - React-jsi - - React-jsiexecutor - - React-perflogger - - React-runtimeexecutor - - React-utils - - SocketRocket (= 0.6.1) - - Yoga - - React-Core/RCTTextHeaders (0.72.4): - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default - - React-cxxreact - - React-hermes - - React-jsi - - React-jsiexecutor - - React-perflogger - - React-runtimeexecutor - - React-utils - - SocketRocket (= 0.6.1) - - Yoga - - React-Core/RCTVibrationHeaders (0.72.4): - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default - - React-cxxreact - - React-hermes - - React-jsi - - React-jsiexecutor - - React-perflogger - - React-runtimeexecutor - - React-utils - - SocketRocket (= 0.6.1) - - Yoga - - React-Core/RCTWebSocket (0.72.4): - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Core/Default (= 0.72.4) - - React-cxxreact - - React-hermes - - React-jsi - - React-jsiexecutor - - React-perflogger - - React-runtimeexecutor - - React-utils - - SocketRocket (= 0.6.1) - - Yoga - - React-CoreModules (0.72.4): - - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.4) - - React-Codegen (= 0.72.4) - - React-Core/CoreModulesHeaders (= 0.72.4) - - React-jsi (= 0.72.4) - - React-RCTBlob - - React-RCTImage (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - SocketRocket (= 0.6.1) - - React-cxxreact (0.72.4): - - boost (= 1.76.0) - - DoubleConversion - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-callinvoker (= 0.72.4) - - React-debug (= 0.72.4) - - React-jsi (= 0.72.4) - - React-jsinspector (= 0.72.4) - - React-logger (= 0.72.4) - - React-perflogger (= 0.72.4) - - React-runtimeexecutor (= 0.72.4) - - React-debug (0.72.4) - - React-hermes (0.72.4): - - DoubleConversion - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - RCT-Folly/Futures (= 2021.07.22.00) - - React-cxxreact (= 0.72.4) - - React-jsi - - React-jsiexecutor (= 0.72.4) - - React-jsinspector (= 0.72.4) - - React-perflogger (= 0.72.4) - - React-jsi (0.72.4): - - boost (= 1.76.0) - - DoubleConversion - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-jsiexecutor (0.72.4): - - DoubleConversion - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-cxxreact (= 0.72.4) - - React-jsi (= 0.72.4) - - React-perflogger (= 0.72.4) - - React-jsinspector (0.72.4) - - React-logger (0.72.4): - - glog - - react-native-camera (4.2.1): - - React-Core - - react-native-camera/RCT (= 4.2.1) - - react-native-camera/RN (= 4.2.1) - - react-native-camera/RCT (4.2.1): - - React-Core - - react-native-camera/RN (4.2.1): - - React-Core - - react-native-config (1.5.1): - - react-native-config/App (= 1.5.1) - - react-native-config/App (1.5.1): - - React-Core - - react-native-geolocation-service (5.3.1): - - React - - react-native-get-random-values (1.10.0): - - React-Core - - react-native-google-maps (2.0.0-beta.14): - - Google-Maps-iOS-Utils (= 4.1.0) - - GoogleMaps (= 7.4.0) - - React-Core - - react-native-image-picker (4.10.3): - - React-Core - - react-native-image-resizer (1.4.5): - - React-Core - - react-native-location (2.5.0): - - React - - react-native-maps (2.0.0-beta.14): - - React-Core - - react-native-mmkv-storage (0.9.1): - - MMKV (= 1.2.13) - - React-Core - - react-native-netinfo (11.2.1): - - React-Core - - react-native-render-html (6.3.4): - - React-Core - - react-native-safe-area-context (3.4.1): - - React-Core - - react-native-webview (13.6.3): - - React-Core - - React-NativeModulesApple (0.72.4): - - hermes-engine - - React-callinvoker - - React-Core - - React-cxxreact - - React-jsi - - React-runtimeexecutor - - ReactCommon/turbomodule/bridging - - ReactCommon/turbomodule/core - - React-perflogger (0.72.4) - - React-RCTActionSheet (0.72.4): - - React-Core/RCTActionSheetHeaders (= 0.72.4) - - React-RCTAnimation (0.72.4): - - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.4) - - React-Codegen (= 0.72.4) - - React-Core/RCTAnimationHeaders (= 0.72.4) - - React-jsi (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-RCTAppDelegate (0.72.4): - - RCT-Folly - - RCTRequired - - RCTTypeSafety - - React-Core - - React-CoreModules - - React-hermes - - React-NativeModulesApple - - React-RCTImage - - React-RCTNetwork - - React-runtimescheduler - - ReactCommon/turbomodule/core - - React-RCTBlob (0.72.4): - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-Codegen (= 0.72.4) - - React-Core/RCTBlobHeaders (= 0.72.4) - - React-Core/RCTWebSocket (= 0.72.4) - - React-jsi (= 0.72.4) - - React-RCTNetwork (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-RCTImage (0.72.4): - - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.4) - - React-Codegen (= 0.72.4) - - React-Core/RCTImageHeaders (= 0.72.4) - - React-jsi (= 0.72.4) - - React-RCTNetwork (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-RCTLinking (0.72.4): - - React-Codegen (= 0.72.4) - - React-Core/RCTLinkingHeaders (= 0.72.4) - - React-jsi (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-RCTNetwork (0.72.4): - - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.4) - - React-Codegen (= 0.72.4) - - React-Core/RCTNetworkHeaders (= 0.72.4) - - React-jsi (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-RCTSettings (0.72.4): - - RCT-Folly (= 2021.07.22.00) - - RCTTypeSafety (= 0.72.4) - - React-Codegen (= 0.72.4) - - React-Core/RCTSettingsHeaders (= 0.72.4) - - React-jsi (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-RCTText (0.72.4): - - React-Core/RCTTextHeaders (= 0.72.4) - - React-RCTVibration (0.72.4): - - RCT-Folly (= 2021.07.22.00) - - React-Codegen (= 0.72.4) - - React-Core/RCTVibrationHeaders (= 0.72.4) - - React-jsi (= 0.72.4) - - ReactCommon/turbomodule/core (= 0.72.4) - - React-rncore (0.72.4) - - React-runtimeexecutor (0.72.4): - - React-jsi (= 0.72.4) - - React-runtimescheduler (0.72.4): - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-callinvoker - - React-debug - - React-jsi - - React-runtimeexecutor - - React-utils (0.72.4): - - glog - - RCT-Folly (= 2021.07.22.00) - - React-debug - - ReactCommon/turbomodule/bridging (0.72.4): - - DoubleConversion - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-callinvoker (= 0.72.4) - - React-cxxreact (= 0.72.4) - - React-jsi (= 0.72.4) - - React-logger (= 0.72.4) - - React-perflogger (= 0.72.4) - - ReactCommon/turbomodule/core (0.72.4): - - DoubleConversion - - glog - - hermes-engine - - RCT-Folly (= 2021.07.22.00) - - React-callinvoker (= 0.72.4) - - React-cxxreact (= 0.72.4) - - React-jsi (= 0.72.4) - - React-logger (= 0.72.4) - - React-perflogger (= 0.72.4) - - RNBootSplash (4.7.5): - - React-Core - - RNCAsyncStorage (1.19.8): - - React-Core - - RNCMaskedView (0.1.11): - - React - - RNCPicker (2.6.1): - - React-Core - - RNCPushNotificationIOS (1.11.0): - - React-Core - - RNDateTimePicker (6.7.5): - - React-Core - - RNDeviceInfo (8.7.1): - - React-Core - - RNFastImage (8.6.3): - - React-Core - - SDWebImage (~> 5.11.1) - - SDWebImageWebPCoder (~> 0.8.4) - - RNFS (2.20.0): - - React-Core - - RNGestureHandler (1.10.3): - - React-Core - - RNLaunchNavigator (1.0.9): - - React - - RNLocalize (2.2.6): - - React-Core - - RNPermissions (3.10.1): - - React-Core - - RNReanimated (3.5.4): - - DoubleConversion - - FBLazyVector - - glog - - hermes-engine - - RCT-Folly - - RCTRequired - - RCTTypeSafety - - React-callinvoker - - React-Core - - React-Core/DevSupport - - React-Core/RCTWebSocket - - React-CoreModules - - React-cxxreact - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-RCTActionSheet - - React-RCTAnimation - - React-RCTAppDelegate - - React-RCTBlob - - React-RCTImage - - React-RCTLinking - - React-RCTNetwork - - React-RCTSettings - - React-RCTText - - ReactCommon/turbomodule/core - - Yoga - - RNScreens (3.27.0): - - RCT-Folly (= 2021.07.22.00) - - React-Core - - RNSVG (12.5.1): - - React-Core - - SDWebImage (5.11.1): - - SDWebImage/Core (= 5.11.1) - - SDWebImage/Core (5.11.1) - - SDWebImageWebPCoder (0.8.5): - - libwebp (~> 1.0) - - SDWebImage/Core (~> 5.10) - - SocketRocket (0.6.1) - - VisionCamera (3.8.2): - - React - - React-callinvoker - - React-Core - - Yoga (1.14.0) - - YogaKit (1.18.1): - - Yoga (~> 1.14) - - YoutubePlayer-in-WKWebView (0.3.8) - -DEPENDENCIES: - - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) - - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) - - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) - - Flipper (= 0.182.0) - - Flipper-Boost-iOSX (= 1.76.0.1.11) - - Flipper-DoubleConversion (= 3.2.0.1) - - Flipper-Fmt (= 7.1.7) - - Flipper-Folly (= 2.6.10) - - Flipper-Glog (= 0.5.0.5) - - Flipper-PeerTalk (= 0.0.4) - - FlipperKit (= 0.182.0) - - FlipperKit/Core (= 0.182.0) - - FlipperKit/CppBridge (= 0.182.0) - - FlipperKit/FBCxxFollyDynamicConvert (= 0.182.0) - - FlipperKit/FBDefines (= 0.182.0) - - FlipperKit/FKPortForwarding (= 0.182.0) - - FlipperKit/FlipperKitHighlightOverlay (= 0.182.0) - - FlipperKit/FlipperKitLayoutPlugin (= 0.182.0) - - FlipperKit/FlipperKitLayoutTextSearchable (= 0.182.0) - - FlipperKit/FlipperKitNetworkPlugin (= 0.182.0) - - FlipperKit/FlipperKitReactPlugin (= 0.182.0) - - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.182.0) - - FlipperKit/SKIOSNetworkPlugin (= 0.182.0) - - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) - - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) - - libevent (~> 2.1.12) - - OpenSSL-Universal (= 1.1.1100) - - Permission-Camera (from `../node_modules/react-native-permissions/ios/Camera`) - - Permission-Contacts (from `../node_modules/react-native-permissions/ios/Contacts`) - - Permission-LocationWhenInUse (from `../node_modules/react-native-permissions/ios/LocationWhenInUse`) - - Permission-Notifications (from `../node_modules/react-native-permissions/ios/Notifications`) - - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) - - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) - - RCTYouTube (from `../node_modules/react-native-youtube`) - - React (from `../node_modules/react-native/`) - - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) - - React-Codegen (from `build/generated/ios`) - - React-Core (from `../node_modules/react-native/`) - - React-Core/DevSupport (from `../node_modules/react-native/`) - - React-Core/RCTWebSocket (from `../node_modules/react-native/`) - - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) - - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) - - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) - - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) - - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) - - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) - - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) - - React-logger (from `../node_modules/react-native/ReactCommon/logger`) - - react-native-camera (from `../node_modules/react-native-camera`) - - react-native-config (from `../node_modules/react-native-config`) - - react-native-geolocation-service (from `../node_modules/react-native-geolocation-service`) - - react-native-get-random-values (from `../node_modules/react-native-get-random-values`) - - react-native-google-maps (from `../node_modules/react-native-maps`) - - react-native-image-picker (from `../node_modules/react-native-image-picker`) - - react-native-image-resizer (from `../node_modules/react-native-image-resizer`) - - react-native-location (from `../node_modules/react-native-location`) - - react-native-maps (from `../node_modules/react-native-maps`) - - react-native-mmkv-storage (from `../node_modules/react-native-mmkv-storage`) - - "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)" - - react-native-render-html (from `../node_modules/react-native-render-html`) - - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) - - react-native-webview (from `../node_modules/react-native-webview`) - - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) - - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) - - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) - - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) - - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) - - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) - - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) - - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) - - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) - - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) - - React-RCTText (from `../node_modules/react-native/Libraries/Text`) - - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) - - React-rncore (from `../node_modules/react-native/ReactCommon`) - - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) - - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) - - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) - - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) - - RNBootSplash (from `../node_modules/react-native-bootsplash`) - - "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)" - - "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)" - - "RNCPicker (from `../node_modules/@react-native-picker/picker`)" - - "RNCPushNotificationIOS (from `../node_modules/@react-native-community/push-notification-ios`)" - - "RNDateTimePicker (from `../node_modules/@react-native-community/datetimepicker`)" - - RNDeviceInfo (from `../node_modules/react-native-device-info`) - - RNFastImage (from `../node_modules/react-native-fast-image`) - - RNFS (from `../node_modules/react-native-fs`) - - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) - - RNLaunchNavigator (from `../node_modules/react-native-launch-navigator`) - - RNLocalize (from `../node_modules/react-native-localize`) - - RNPermissions (from `../node_modules/react-native-permissions`) - - RNReanimated (from `../node_modules/react-native-reanimated`) - - RNScreens (from `../node_modules/react-native-screens`) - - RNSVG (from `../node_modules/react-native-svg`) - - VisionCamera (from `../node_modules/react-native-vision-camera`) - - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) - -SPEC REPOS: - trunk: - - CocoaAsyncSocket - - Flipper - - Flipper-Boost-iOSX - - Flipper-DoubleConversion - - Flipper-Fmt - - Flipper-Folly - - Flipper-Glog - - Flipper-PeerTalk - - FlipperKit - - fmt - - Google-Maps-iOS-Utils - - GoogleMaps - - libevent - - libwebp - - MMKV - - MMKVCore - - OpenSSL-Universal - - SDWebImage - - SDWebImageWebPCoder - - SocketRocket - - YogaKit - - YoutubePlayer-in-WKWebView - -EXTERNAL SOURCES: - boost: - :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" - DoubleConversion: - :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" - FBLazyVector: - :path: "../node_modules/react-native/Libraries/FBLazyVector" - FBReactNativeSpec: - :path: "../node_modules/react-native/React/FBReactNativeSpec" - glog: - :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" - hermes-engine: - :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" - :tag: hermes-2023-08-07-RNv0.72.4-813b2def12bc9df02654b3e3653ae4a68d0572e0 - Permission-Camera: - :path: "../node_modules/react-native-permissions/ios/Camera" - Permission-Contacts: - :path: "../node_modules/react-native-permissions/ios/Contacts" - Permission-LocationWhenInUse: - :path: "../node_modules/react-native-permissions/ios/LocationWhenInUse" - Permission-Notifications: - :path: "../node_modules/react-native-permissions/ios/Notifications" - RCT-Folly: - :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" - RCTRequired: - :path: "../node_modules/react-native/Libraries/RCTRequired" - RCTTypeSafety: - :path: "../node_modules/react-native/Libraries/TypeSafety" - RCTYouTube: - :path: "../node_modules/react-native-youtube" - React: - :path: "../node_modules/react-native/" - React-callinvoker: - :path: "../node_modules/react-native/ReactCommon/callinvoker" - React-Codegen: - :path: build/generated/ios - React-Core: - :path: "../node_modules/react-native/" - React-CoreModules: - :path: "../node_modules/react-native/React/CoreModules" - React-cxxreact: - :path: "../node_modules/react-native/ReactCommon/cxxreact" - React-debug: - :path: "../node_modules/react-native/ReactCommon/react/debug" - React-hermes: - :path: "../node_modules/react-native/ReactCommon/hermes" - React-jsi: - :path: "../node_modules/react-native/ReactCommon/jsi" - React-jsiexecutor: - :path: "../node_modules/react-native/ReactCommon/jsiexecutor" - React-jsinspector: - :path: "../node_modules/react-native/ReactCommon/jsinspector" - React-logger: - :path: "../node_modules/react-native/ReactCommon/logger" - react-native-camera: - :path: "../node_modules/react-native-camera" - react-native-config: - :path: "../node_modules/react-native-config" - react-native-geolocation-service: - :path: "../node_modules/react-native-geolocation-service" - react-native-get-random-values: - :path: "../node_modules/react-native-get-random-values" - react-native-google-maps: - :path: "../node_modules/react-native-maps" - react-native-image-picker: - :path: "../node_modules/react-native-image-picker" - react-native-image-resizer: - :path: "../node_modules/react-native-image-resizer" - react-native-location: - :path: "../node_modules/react-native-location" - react-native-maps: - :path: "../node_modules/react-native-maps" - react-native-mmkv-storage: - :path: "../node_modules/react-native-mmkv-storage" - react-native-netinfo: - :path: "../node_modules/@react-native-community/netinfo" - react-native-render-html: - :path: "../node_modules/react-native-render-html" - react-native-safe-area-context: - :path: "../node_modules/react-native-safe-area-context" - react-native-webview: - :path: "../node_modules/react-native-webview" - React-NativeModulesApple: - :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" - React-perflogger: - :path: "../node_modules/react-native/ReactCommon/reactperflogger" - React-RCTActionSheet: - :path: "../node_modules/react-native/Libraries/ActionSheetIOS" - React-RCTAnimation: - :path: "../node_modules/react-native/Libraries/NativeAnimation" - React-RCTAppDelegate: - :path: "../node_modules/react-native/Libraries/AppDelegate" - React-RCTBlob: - :path: "../node_modules/react-native/Libraries/Blob" - React-RCTImage: - :path: "../node_modules/react-native/Libraries/Image" - React-RCTLinking: - :path: "../node_modules/react-native/Libraries/LinkingIOS" - React-RCTNetwork: - :path: "../node_modules/react-native/Libraries/Network" - React-RCTSettings: - :path: "../node_modules/react-native/Libraries/Settings" - React-RCTText: - :path: "../node_modules/react-native/Libraries/Text" - React-RCTVibration: - :path: "../node_modules/react-native/Libraries/Vibration" - React-rncore: - :path: "../node_modules/react-native/ReactCommon" - React-runtimeexecutor: - :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" - React-runtimescheduler: - :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" - React-utils: - :path: "../node_modules/react-native/ReactCommon/react/utils" - ReactCommon: - :path: "../node_modules/react-native/ReactCommon" - RNBootSplash: - :path: "../node_modules/react-native-bootsplash" - RNCAsyncStorage: - :path: "../node_modules/@react-native-async-storage/async-storage" - RNCMaskedView: - :path: "../node_modules/@react-native-community/masked-view" - RNCPicker: - :path: "../node_modules/@react-native-picker/picker" - RNCPushNotificationIOS: - :path: "../node_modules/@react-native-community/push-notification-ios" - RNDateTimePicker: - :path: "../node_modules/@react-native-community/datetimepicker" - RNDeviceInfo: - :path: "../node_modules/react-native-device-info" - RNFastImage: - :path: "../node_modules/react-native-fast-image" - RNFS: - :path: "../node_modules/react-native-fs" - RNGestureHandler: - :path: "../node_modules/react-native-gesture-handler" - RNLaunchNavigator: - :path: "../node_modules/react-native-launch-navigator" - RNLocalize: - :path: "../node_modules/react-native-localize" - RNPermissions: - :path: "../node_modules/react-native-permissions" - RNReanimated: - :path: "../node_modules/react-native-reanimated" - RNScreens: - :path: "../node_modules/react-native-screens" - RNSVG: - :path: "../node_modules/react-native-svg" - VisionCamera: - :path: "../node_modules/react-native-vision-camera" - Yoga: - :path: "../node_modules/react-native/ReactCommon/yoga" - -SPEC CHECKSUMS: - boost: 57d2868c099736d80fcd648bf211b4431e51a558 - CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 - DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 - FBLazyVector: 5d4a3b7f411219a45a6d952f77d2c0a6c9989da5 - FBReactNativeSpec: 3fc2d478e1c4b08276f9dd9128f80ec6d5d85c1f - Flipper: 6edb735e6c3e332975d1b17956bcc584eccf5818 - Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c - Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30 - Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b - Flipper-Folly: 584845625005ff068a6ebf41f857f468decd26b3 - Flipper-Glog: 70c50ce58ddaf67dc35180db05f191692570f446 - Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 - FlipperKit: 2efad7007d6745a3f95e4034d547be637f89d3f6 - fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 - glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b - Google-Maps-iOS-Utils: 3343332b18dfd5be8f1f44edd7d481ace3da4d9a - GoogleMaps: 032f676450ba0779bd8ce16840690915f84e57ac - hermes-engine: 81191603c4eaa01f5e4ae5737a9efcf64756c7b2 - libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 - libwebp: 1786c9f4ff8a279e4dac1e8f385004d5fc253009 - MMKV: aac95d817a100479445633f2b3ed8961b4ac5043 - MMKVCore: 9cfef4c48c6c46f66226fc2e4634d78490206a48 - OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c - Permission-Camera: 9b70902f34a83c10e198d2d01f0e453e58842776 - Permission-Contacts: 5d89377c3488b99a4b0e62332ba1be6da3103119 - Permission-LocationWhenInUse: 31f52ebddef50c306a585b5a82ca16c8ff582dec - Permission-Notifications: 817390e18898f34adad940cd4141e771e77086ea - RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1 - RCTRequired: c0569ecc035894e4a68baecb30fe6a7ea6e399f9 - RCTTypeSafety: e90354072c21236e0bcf1699011e39acd25fea2f - RCTYouTube: a8bb45705622a6fc9decf64be04128d3658ed411 - React: a1be3c6dc0a6e949ccd3e659781aa47bbae1868f - React-callinvoker: 1020b33f6cb1a1824f9ca2a86609fbce2a73c6ed - React-Codegen: a0a26badf098d4a779acda922caf74f6ecabed28 - React-Core: 52075b80f10c26f62219d7b5d13d7d8089f027b3 - React-CoreModules: 21abab85d7ad9038ce2b1c33d39e3baaf7dc9244 - React-cxxreact: 4ad1cc861e32fb533dad6ff7a4ea25680fa1c994 - React-debug: 17366a3d5c5d2f5fc04f09101a4af38cb42b54ae - React-hermes: 37377d0a56aa0cf55c65248271866ce3268cde3f - React-jsi: 6de8b0ccc6b765b58e4eee9ee38049dbeaf5c221 - React-jsiexecutor: c7f826e40fa9cab5d37cab6130b1af237332b594 - React-jsinspector: aaed4cf551c4a1c98092436518c2d267b13a673f - React-logger: da1ebe05ae06eb6db4b162202faeafac4b435e77 - react-native-camera: 3eae183c1d111103963f3dd913b65d01aef8110f - react-native-config: 86038147314e2e6d10ea9972022aa171e6b1d4d8 - react-native-geolocation-service: 608e1da71a1ac31b4de64d9ef2815f697978c55b - react-native-get-random-values: 384787fd76976f5aec9465aff6fa9e9129af1e74 - react-native-google-maps: 327f65e847bbf98e1b92ccedd3ab322d4a00f56c - react-native-image-picker: 60f4246eb5bb7187fc15638a8c1f13abd3820695 - react-native-image-resizer: d9fb629a867335bdc13230ac2a58702bb8c8828f - react-native-location: 5a40ec1cc6abf2f6d94df979f98ec76c3a415681 - react-native-maps: bea0a31ac1c8c5974ceb1b16b301d72d847c6fb0 - react-native-mmkv-storage: cfb6854594cfdc5f7383a9e464bb025417d1721c - react-native-netinfo: 8a7fd3f7130ef4ad2fb4276d5c9f8d3f28d2df3d - react-native-render-html: 984dfe2294163d04bf5fe25d7c9f122e60e05ebe - react-native-safe-area-context: 9e40fb181dac02619414ba1294d6c2a807056ab9 - react-native-webview: 88293a0f23eca8465c0433c023ec632930e644d0 - React-NativeModulesApple: edb5ace14f73f4969df6e7b1f3e41bef0012740f - React-perflogger: 496a1a3dc6737f964107cb3ddae7f9e265ddda58 - React-RCTActionSheet: 02904b932b50e680f4e26e7a686b33ebf7ef3c00 - React-RCTAnimation: 88feaf0a85648fb8fd497ce749829774910276d6 - React-RCTAppDelegate: 5792ac0f0feccb584765fdd7aa81ea320c4d9b0b - React-RCTBlob: 0dbc9e2a13d241b37d46b53e54630cbad1f0e141 - React-RCTImage: b111645ab901f8e59fc68fbe31f5731bdbeef087 - React-RCTLinking: 3d719727b4c098aad3588aa3559361ee0579f5de - React-RCTNetwork: b44d3580be05d74556ba4efbf53570f17e38f734 - React-RCTSettings: c0c54b330442c29874cd4dae6e94190dc11a6f6f - React-RCTText: 9b9f5589d9b649d7246c3f336e116496df28cfe6 - React-RCTVibration: 691c67f3beaf1d084ceed5eb5c1dddd9afa8591e - React-rncore: 142268f6c92e296dc079aadda3fade778562f9e4 - React-runtimeexecutor: d465ba0c47ef3ed8281143f59605cacc2244d5c7 - React-runtimescheduler: 4941cc1b3cf08b792fbf666342c9fc95f1969035 - React-utils: b79f2411931f9d3ea5781404dcbb2fa8a837e13a - ReactCommon: 4b2bdcb50a3543e1c2b2849ad44533686610826d - RNBootSplash: 85f6b879c080e958afdb4c62ee04497b05fd7552 - RNCAsyncStorage: 687bb9e85dd3d45b966662440dcfc0cd962347e6 - RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489 - RNCPicker: b18aaf30df596e9b1738e7c1f9ee55402a229dca - RNCPushNotificationIOS: 64218f3c776c03d7408284a819b2abfda1834bc8 - RNDateTimePicker: 65e1d202799460b286ff5e741d8baf54695e8abd - RNDeviceInfo: aad3c663b25752a52bf8fce93f2354001dd185aa - RNFastImage: 5c9c9fed9c076e521b3f509fe79e790418a544e8 - RNFS: 4ac0f0ea233904cb798630b3c077808c06931688 - RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211 - RNLaunchNavigator: d855643e1f842f13c6cc65575e0755975667032c - RNLocalize: d4b8af4e442d4bcca54e68fc687a2129b4d71a81 - RNPermissions: 4e3714e18afe7141d000beae3755e5b5fb2f5e05 - RNReanimated: ab2e96c6d5591c3dfbb38a464f54c8d17fb34a87 - RNScreens: 3c2d122f5e08c192e254c510b212306da97d2581 - RNSVG: d7d7bc8229af3842c9cfc3a723c815a52cdd1105 - SDWebImage: a7f831e1a65eb5e285e3fb046a23fcfbf08e696d - SDWebImageWebPCoder: 908b83b6adda48effe7667cd2b7f78c897e5111d - SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 - VisionCamera: 4b98b273902ac18491bb68481b6601f1f0da0f2d - Yoga: 3efc43e0d48686ce2e8c60f99d4e6bd349aff981 - YogaKit: f782866e155069a2cca2517aafea43200b01fd5a - YoutubePlayer-in-WKWebView: 4fca3b4f6f09940077bfbae7bddb771f2b43aacd - -PODFILE CHECKSUM: 8640abcdca19c579ec36476d02191b0c88e7f502 - -COCOAPODS: 1.14.3 From 0520ca4e4afeb8145acb4627455493151b8e8467 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 2 Feb 2024 14:52:35 +0800 Subject: [PATCH 005/167] fix error --- ios/Podfile.lock | 1035 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1035 insertions(+) create mode 100644 ios/Podfile.lock diff --git a/ios/Podfile.lock b/ios/Podfile.lock new file mode 100644 index 00000000..d5561fb7 --- /dev/null +++ b/ios/Podfile.lock @@ -0,0 +1,1035 @@ +PODS: + - boost (1.76.0) + - CocoaAsyncSocket (7.6.5) + - DoubleConversion (1.1.6) + - FBLazyVector (0.72.4) + - FBReactNativeSpec (0.72.4): + - RCT-Folly (= 2021.07.22.00) + - RCTRequired (= 0.72.4) + - RCTTypeSafety (= 0.72.4) + - React-Core (= 0.72.4) + - React-jsi (= 0.72.4) + - ReactCommon/turbomodule/core (= 0.72.4) + - Flipper (0.182.0): + - Flipper-Folly (~> 2.6) + - Flipper-Boost-iOSX (1.76.0.1.11) + - Flipper-DoubleConversion (3.2.0.1) + - Flipper-Fmt (7.1.7) + - Flipper-Folly (2.6.10): + - Flipper-Boost-iOSX + - Flipper-DoubleConversion + - Flipper-Fmt (= 7.1.7) + - Flipper-Glog + - libevent (~> 2.1.12) + - OpenSSL-Universal (= 1.1.1100) + - Flipper-Glog (0.5.0.5) + - Flipper-PeerTalk (0.0.4) + - FlipperKit (0.182.0): + - FlipperKit/Core (= 0.182.0) + - FlipperKit/Core (0.182.0): + - Flipper (~> 0.182.0) + - FlipperKit/CppBridge + - FlipperKit/FBCxxFollyDynamicConvert + - FlipperKit/FBDefines + - FlipperKit/FKPortForwarding + - SocketRocket (~> 0.6.0) + - FlipperKit/CppBridge (0.182.0): + - Flipper (~> 0.182.0) + - FlipperKit/FBCxxFollyDynamicConvert (0.182.0): + - Flipper-Folly (~> 2.6) + - FlipperKit/FBDefines (0.182.0) + - FlipperKit/FKPortForwarding (0.182.0): + - CocoaAsyncSocket (~> 7.6) + - Flipper-PeerTalk (~> 0.0.4) + - FlipperKit/FlipperKitHighlightOverlay (0.182.0) + - FlipperKit/FlipperKitLayoutHelpers (0.182.0): + - FlipperKit/Core + - FlipperKit/FlipperKitHighlightOverlay + - FlipperKit/FlipperKitLayoutTextSearchable + - FlipperKit/FlipperKitLayoutIOSDescriptors (0.182.0): + - FlipperKit/Core + - FlipperKit/FlipperKitHighlightOverlay + - FlipperKit/FlipperKitLayoutHelpers + - YogaKit (~> 1.18) + - FlipperKit/FlipperKitLayoutPlugin (0.182.0): + - FlipperKit/Core + - FlipperKit/FlipperKitHighlightOverlay + - FlipperKit/FlipperKitLayoutHelpers + - FlipperKit/FlipperKitLayoutIOSDescriptors + - FlipperKit/FlipperKitLayoutTextSearchable + - YogaKit (~> 1.18) + - FlipperKit/FlipperKitLayoutTextSearchable (0.182.0) + - FlipperKit/FlipperKitNetworkPlugin (0.182.0): + - FlipperKit/Core + - FlipperKit/FlipperKitReactPlugin (0.182.0): + - FlipperKit/Core + - FlipperKit/FlipperKitUserDefaultsPlugin (0.182.0): + - FlipperKit/Core + - FlipperKit/SKIOSNetworkPlugin (0.182.0): + - FlipperKit/Core + - FlipperKit/FlipperKitNetworkPlugin + - fmt (6.2.1) + - glog (0.3.5) + - Google-Maps-iOS-Utils (4.1.0): + - Google-Maps-iOS-Utils/Clustering (= 4.1.0) + - Google-Maps-iOS-Utils/Geometry (= 4.1.0) + - Google-Maps-iOS-Utils/GeometryUtils (= 4.1.0) + - Google-Maps-iOS-Utils/Heatmap (= 4.1.0) + - Google-Maps-iOS-Utils/QuadTree (= 4.1.0) + - GoogleMaps + - Google-Maps-iOS-Utils/Clustering (4.1.0): + - Google-Maps-iOS-Utils/QuadTree + - GoogleMaps + - Google-Maps-iOS-Utils/Geometry (4.1.0): + - GoogleMaps + - Google-Maps-iOS-Utils/GeometryUtils (4.1.0): + - GoogleMaps + - Google-Maps-iOS-Utils/Heatmap (4.1.0): + - Google-Maps-iOS-Utils/QuadTree + - GoogleMaps + - Google-Maps-iOS-Utils/QuadTree (4.1.0): + - GoogleMaps + - GoogleMaps (7.4.0): + - GoogleMaps/Maps (= 7.4.0) + - GoogleMaps/Base (7.4.0) + - GoogleMaps/Maps (7.4.0): + - GoogleMaps/Base + - hermes-engine (0.72.4): + - hermes-engine/Pre-built (= 0.72.4) + - hermes-engine/Pre-built (0.72.4) + - libevent (2.1.12) + - libwebp (1.3.2): + - libwebp/demux (= 1.3.2) + - libwebp/mux (= 1.3.2) + - libwebp/sharpyuv (= 1.3.2) + - libwebp/webp (= 1.3.2) + - libwebp/demux (1.3.2): + - libwebp/webp + - libwebp/mux (1.3.2): + - libwebp/demux + - libwebp/sharpyuv (1.3.2) + - libwebp/webp (1.3.2): + - libwebp/sharpyuv + - MMKV (1.2.13): + - MMKVCore (~> 1.2.13) + - MMKVCore (1.2.16) + - OpenSSL-Universal (1.1.1100) + - Permission-Camera (3.10.1): + - RNPermissions + - Permission-Contacts (3.10.1): + - RNPermissions + - Permission-LocationWhenInUse (3.10.1): + - RNPermissions + - Permission-Notifications (3.10.1): + - RNPermissions + - RCT-Folly (2021.07.22.00): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - RCT-Folly/Default (= 2021.07.22.00) + - RCT-Folly/Default (2021.07.22.00): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - RCT-Folly/Futures (2021.07.22.00): + - boost + - DoubleConversion + - fmt (~> 6.2.1) + - glog + - libevent + - RCTRequired (0.72.4) + - RCTTypeSafety (0.72.4): + - FBLazyVector (= 0.72.4) + - RCTRequired (= 0.72.4) + - React-Core (= 0.72.4) + - RCTYouTube (2.0.2): + - React + - YoutubePlayer-in-WKWebView (~> 0.3.1) + - React (0.72.4): + - React-Core (= 0.72.4) + - React-Core/DevSupport (= 0.72.4) + - React-Core/RCTWebSocket (= 0.72.4) + - React-RCTActionSheet (= 0.72.4) + - React-RCTAnimation (= 0.72.4) + - React-RCTBlob (= 0.72.4) + - React-RCTImage (= 0.72.4) + - React-RCTLinking (= 0.72.4) + - React-RCTNetwork (= 0.72.4) + - React-RCTSettings (= 0.72.4) + - React-RCTText (= 0.72.4) + - React-RCTVibration (= 0.72.4) + - React-callinvoker (0.72.4) + - React-Codegen (0.72.4): + - DoubleConversion + - FBReactNativeSpec + - glog + - hermes-engine + - RCT-Folly + - RCTRequired + - RCTTypeSafety + - React-Core + - React-jsi + - React-jsiexecutor + - React-NativeModulesApple + - React-rncore + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - React-Core (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default (= 0.72.4) + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/CoreModulesHeaders (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/Default (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/DevSupport (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default (= 0.72.4) + - React-Core/RCTWebSocket (= 0.72.4) + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector (= 0.72.4) + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTActionSheetHeaders (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTAnimationHeaders (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTBlobHeaders (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTImageHeaders (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTLinkingHeaders (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTNetworkHeaders (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTSettingsHeaders (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTTextHeaders (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTVibrationHeaders (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-Core/RCTWebSocket (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Core/Default (= 0.72.4) + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-perflogger + - React-runtimeexecutor + - React-utils + - SocketRocket (= 0.6.1) + - Yoga + - React-CoreModules (0.72.4): + - RCT-Folly (= 2021.07.22.00) + - RCTTypeSafety (= 0.72.4) + - React-Codegen (= 0.72.4) + - React-Core/CoreModulesHeaders (= 0.72.4) + - React-jsi (= 0.72.4) + - React-RCTBlob + - React-RCTImage (= 0.72.4) + - ReactCommon/turbomodule/core (= 0.72.4) + - SocketRocket (= 0.6.1) + - React-cxxreact (0.72.4): + - boost (= 1.76.0) + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-callinvoker (= 0.72.4) + - React-debug (= 0.72.4) + - React-jsi (= 0.72.4) + - React-jsinspector (= 0.72.4) + - React-logger (= 0.72.4) + - React-perflogger (= 0.72.4) + - React-runtimeexecutor (= 0.72.4) + - React-debug (0.72.4) + - React-hermes (0.72.4): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - RCT-Folly/Futures (= 2021.07.22.00) + - React-cxxreact (= 0.72.4) + - React-jsi + - React-jsiexecutor (= 0.72.4) + - React-jsinspector (= 0.72.4) + - React-perflogger (= 0.72.4) + - React-jsi (0.72.4): + - boost (= 1.76.0) + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-jsiexecutor (0.72.4): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-cxxreact (= 0.72.4) + - React-jsi (= 0.72.4) + - React-perflogger (= 0.72.4) + - React-jsinspector (0.72.4) + - React-logger (0.72.4): + - glog + - react-native-camera (4.2.1): + - React-Core + - react-native-camera/RCT (= 4.2.1) + - react-native-camera/RN (= 4.2.1) + - react-native-camera/RCT (4.2.1): + - React-Core + - react-native-camera/RN (4.2.1): + - React-Core + - react-native-config (1.5.1): + - react-native-config/App (= 1.5.1) + - react-native-config/App (1.5.1): + - React-Core + - react-native-geolocation-service (5.3.1): + - React + - react-native-get-random-values (1.10.0): + - React-Core + - react-native-google-maps (2.0.0-beta.14): + - Google-Maps-iOS-Utils (= 4.1.0) + - GoogleMaps (= 7.4.0) + - React-Core + - react-native-image-picker (4.10.3): + - React-Core + - react-native-image-resizer (1.4.5): + - React-Core + - react-native-location (2.5.0): + - React + - react-native-maps (2.0.0-beta.14): + - React-Core + - react-native-mmkv-storage (0.9.1): + - MMKV (= 1.2.13) + - React-Core + - react-native-netinfo (11.2.1): + - React-Core + - react-native-render-html (6.3.4): + - React-Core + - react-native-safe-area-context (3.4.1): + - React-Core + - react-native-webview (13.6.3): + - React-Core + - React-NativeModulesApple (0.72.4): + - hermes-engine + - React-callinvoker + - React-Core + - React-cxxreact + - React-jsi + - React-runtimeexecutor + - ReactCommon/turbomodule/bridging + - ReactCommon/turbomodule/core + - React-perflogger (0.72.4) + - React-RCTActionSheet (0.72.4): + - React-Core/RCTActionSheetHeaders (= 0.72.4) + - React-RCTAnimation (0.72.4): + - RCT-Folly (= 2021.07.22.00) + - RCTTypeSafety (= 0.72.4) + - React-Codegen (= 0.72.4) + - React-Core/RCTAnimationHeaders (= 0.72.4) + - React-jsi (= 0.72.4) + - ReactCommon/turbomodule/core (= 0.72.4) + - React-RCTAppDelegate (0.72.4): + - RCT-Folly + - RCTRequired + - RCTTypeSafety + - React-Core + - React-CoreModules + - React-hermes + - React-NativeModulesApple + - React-RCTImage + - React-RCTNetwork + - React-runtimescheduler + - ReactCommon/turbomodule/core + - React-RCTBlob (0.72.4): + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-Codegen (= 0.72.4) + - React-Core/RCTBlobHeaders (= 0.72.4) + - React-Core/RCTWebSocket (= 0.72.4) + - React-jsi (= 0.72.4) + - React-RCTNetwork (= 0.72.4) + - ReactCommon/turbomodule/core (= 0.72.4) + - React-RCTImage (0.72.4): + - RCT-Folly (= 2021.07.22.00) + - RCTTypeSafety (= 0.72.4) + - React-Codegen (= 0.72.4) + - React-Core/RCTImageHeaders (= 0.72.4) + - React-jsi (= 0.72.4) + - React-RCTNetwork (= 0.72.4) + - ReactCommon/turbomodule/core (= 0.72.4) + - React-RCTLinking (0.72.4): + - React-Codegen (= 0.72.4) + - React-Core/RCTLinkingHeaders (= 0.72.4) + - React-jsi (= 0.72.4) + - ReactCommon/turbomodule/core (= 0.72.4) + - React-RCTNetwork (0.72.4): + - RCT-Folly (= 2021.07.22.00) + - RCTTypeSafety (= 0.72.4) + - React-Codegen (= 0.72.4) + - React-Core/RCTNetworkHeaders (= 0.72.4) + - React-jsi (= 0.72.4) + - ReactCommon/turbomodule/core (= 0.72.4) + - React-RCTSettings (0.72.4): + - RCT-Folly (= 2021.07.22.00) + - RCTTypeSafety (= 0.72.4) + - React-Codegen (= 0.72.4) + - React-Core/RCTSettingsHeaders (= 0.72.4) + - React-jsi (= 0.72.4) + - ReactCommon/turbomodule/core (= 0.72.4) + - React-RCTText (0.72.4): + - React-Core/RCTTextHeaders (= 0.72.4) + - React-RCTVibration (0.72.4): + - RCT-Folly (= 2021.07.22.00) + - React-Codegen (= 0.72.4) + - React-Core/RCTVibrationHeaders (= 0.72.4) + - React-jsi (= 0.72.4) + - ReactCommon/turbomodule/core (= 0.72.4) + - React-rncore (0.72.4) + - React-runtimeexecutor (0.72.4): + - React-jsi (= 0.72.4) + - React-runtimescheduler (0.72.4): + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-callinvoker + - React-debug + - React-jsi + - React-runtimeexecutor + - React-utils (0.72.4): + - glog + - RCT-Folly (= 2021.07.22.00) + - React-debug + - ReactCommon/turbomodule/bridging (0.72.4): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-callinvoker (= 0.72.4) + - React-cxxreact (= 0.72.4) + - React-jsi (= 0.72.4) + - React-logger (= 0.72.4) + - React-perflogger (= 0.72.4) + - ReactCommon/turbomodule/core (0.72.4): + - DoubleConversion + - glog + - hermes-engine + - RCT-Folly (= 2021.07.22.00) + - React-callinvoker (= 0.72.4) + - React-cxxreact (= 0.72.4) + - React-jsi (= 0.72.4) + - React-logger (= 0.72.4) + - React-perflogger (= 0.72.4) + - RNBootSplash (4.7.5): + - React-Core + - RNCAsyncStorage (1.19.8): + - React-Core + - RNCMaskedView (0.1.11): + - React + - RNCPicker (2.6.1): + - React-Core + - RNCPushNotificationIOS (1.11.0): + - React-Core + - RNDateTimePicker (6.7.5): + - React-Core + - RNDeviceInfo (8.7.1): + - React-Core + - RNFastImage (8.6.3): + - React-Core + - SDWebImage (~> 5.11.1) + - SDWebImageWebPCoder (~> 0.8.4) + - RNFS (2.20.0): + - React-Core + - RNGestureHandler (1.10.3): + - React-Core + - RNLaunchNavigator (1.0.9): + - React + - RNLocalize (2.2.6): + - React-Core + - RNPermissions (3.10.1): + - React-Core + - RNReanimated (3.5.4): + - DoubleConversion + - FBLazyVector + - glog + - hermes-engine + - RCT-Folly + - RCTRequired + - RCTTypeSafety + - React-callinvoker + - React-Core + - React-Core/DevSupport + - React-Core/RCTWebSocket + - React-CoreModules + - React-cxxreact + - React-hermes + - React-jsi + - React-jsiexecutor + - React-jsinspector + - React-RCTActionSheet + - React-RCTAnimation + - React-RCTAppDelegate + - React-RCTBlob + - React-RCTImage + - React-RCTLinking + - React-RCTNetwork + - React-RCTSettings + - React-RCTText + - ReactCommon/turbomodule/core + - Yoga + - RNScreens (3.27.0): + - RCT-Folly (= 2021.07.22.00) + - React-Core + - RNSVG (12.5.1): + - React-Core + - SDWebImage (5.11.1): + - SDWebImage/Core (= 5.11.1) + - SDWebImage/Core (5.11.1) + - SDWebImageWebPCoder (0.8.5): + - libwebp (~> 1.0) + - SDWebImage/Core (~> 5.10) + - SocketRocket (0.6.1) + - VisionCamera (3.8.2): + - React + - React-callinvoker + - React-Core + - Yoga (1.14.0) + - YogaKit (1.18.1): + - Yoga (~> 1.14) + - YoutubePlayer-in-WKWebView (0.3.8) + +DEPENDENCIES: + - boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`) + - DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) + - FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`) + - FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`) + - Flipper (= 0.182.0) + - Flipper-Boost-iOSX (= 1.76.0.1.11) + - Flipper-DoubleConversion (= 3.2.0.1) + - Flipper-Fmt (= 7.1.7) + - Flipper-Folly (= 2.6.10) + - Flipper-Glog (= 0.5.0.5) + - Flipper-PeerTalk (= 0.0.4) + - FlipperKit (= 0.182.0) + - FlipperKit/Core (= 0.182.0) + - FlipperKit/CppBridge (= 0.182.0) + - FlipperKit/FBCxxFollyDynamicConvert (= 0.182.0) + - FlipperKit/FBDefines (= 0.182.0) + - FlipperKit/FKPortForwarding (= 0.182.0) + - FlipperKit/FlipperKitHighlightOverlay (= 0.182.0) + - FlipperKit/FlipperKitLayoutPlugin (= 0.182.0) + - FlipperKit/FlipperKitLayoutTextSearchable (= 0.182.0) + - FlipperKit/FlipperKitNetworkPlugin (= 0.182.0) + - FlipperKit/FlipperKitReactPlugin (= 0.182.0) + - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.182.0) + - FlipperKit/SKIOSNetworkPlugin (= 0.182.0) + - glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`) + - hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) + - libevent (~> 2.1.12) + - OpenSSL-Universal (= 1.1.1100) + - Permission-Camera (from `../node_modules/react-native-permissions/ios/Camera`) + - Permission-Contacts (from `../node_modules/react-native-permissions/ios/Contacts`) + - Permission-LocationWhenInUse (from `../node_modules/react-native-permissions/ios/LocationWhenInUse`) + - Permission-Notifications (from `../node_modules/react-native-permissions/ios/Notifications`) + - RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) + - RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`) + - RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`) + - RCTYouTube (from `../node_modules/react-native-youtube`) + - React (from `../node_modules/react-native/`) + - React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`) + - React-Codegen (from `build/generated/ios`) + - React-Core (from `../node_modules/react-native/`) + - React-Core/DevSupport (from `../node_modules/react-native/`) + - React-Core/RCTWebSocket (from `../node_modules/react-native/`) + - React-CoreModules (from `../node_modules/react-native/React/CoreModules`) + - React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`) + - React-debug (from `../node_modules/react-native/ReactCommon/react/debug`) + - React-hermes (from `../node_modules/react-native/ReactCommon/hermes`) + - React-jsi (from `../node_modules/react-native/ReactCommon/jsi`) + - React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`) + - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) + - React-logger (from `../node_modules/react-native/ReactCommon/logger`) + - react-native-camera (from `../node_modules/react-native-camera`) + - react-native-config (from `../node_modules/react-native-config`) + - react-native-geolocation-service (from `../node_modules/react-native-geolocation-service`) + - react-native-get-random-values (from `../node_modules/react-native-get-random-values`) + - react-native-google-maps (from `../node_modules/react-native-maps`) + - react-native-image-picker (from `../node_modules/react-native-image-picker`) + - react-native-image-resizer (from `../node_modules/react-native-image-resizer`) + - react-native-location (from `../node_modules/react-native-location`) + - react-native-maps (from `../node_modules/react-native-maps`) + - react-native-mmkv-storage (from `../node_modules/react-native-mmkv-storage`) + - "react-native-netinfo (from `../node_modules/@react-native-community/netinfo`)" + - react-native-render-html (from `../node_modules/react-native-render-html`) + - react-native-safe-area-context (from `../node_modules/react-native-safe-area-context`) + - react-native-webview (from `../node_modules/react-native-webview`) + - React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`) + - React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`) + - React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`) + - React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`) + - React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`) + - React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`) + - React-RCTImage (from `../node_modules/react-native/Libraries/Image`) + - React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`) + - React-RCTNetwork (from `../node_modules/react-native/Libraries/Network`) + - React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`) + - React-RCTText (from `../node_modules/react-native/Libraries/Text`) + - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) + - React-rncore (from `../node_modules/react-native/ReactCommon`) + - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) + - React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`) + - React-utils (from `../node_modules/react-native/ReactCommon/react/utils`) + - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) + - RNBootSplash (from `../node_modules/react-native-bootsplash`) + - "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)" + - "RNCMaskedView (from `../node_modules/@react-native-community/masked-view`)" + - "RNCPicker (from `../node_modules/@react-native-picker/picker`)" + - "RNCPushNotificationIOS (from `../node_modules/@react-native-community/push-notification-ios`)" + - "RNDateTimePicker (from `../node_modules/@react-native-community/datetimepicker`)" + - RNDeviceInfo (from `../node_modules/react-native-device-info`) + - RNFastImage (from `../node_modules/react-native-fast-image`) + - RNFS (from `../node_modules/react-native-fs`) + - RNGestureHandler (from `../node_modules/react-native-gesture-handler`) + - RNLaunchNavigator (from `../node_modules/react-native-launch-navigator`) + - RNLocalize (from `../node_modules/react-native-localize`) + - RNPermissions (from `../node_modules/react-native-permissions`) + - RNReanimated (from `../node_modules/react-native-reanimated`) + - RNScreens (from `../node_modules/react-native-screens`) + - RNSVG (from `../node_modules/react-native-svg`) + - VisionCamera (from `../node_modules/react-native-vision-camera`) + - Yoga (from `../node_modules/react-native/ReactCommon/yoga`) + +SPEC REPOS: + trunk: + - CocoaAsyncSocket + - Flipper + - Flipper-Boost-iOSX + - Flipper-DoubleConversion + - Flipper-Fmt + - Flipper-Folly + - Flipper-Glog + - Flipper-PeerTalk + - FlipperKit + - fmt + - Google-Maps-iOS-Utils + - GoogleMaps + - libevent + - libwebp + - MMKV + - MMKVCore + - OpenSSL-Universal + - SDWebImage + - SDWebImageWebPCoder + - SocketRocket + - YogaKit + - YoutubePlayer-in-WKWebView + +EXTERNAL SOURCES: + boost: + :podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec" + DoubleConversion: + :podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec" + FBLazyVector: + :path: "../node_modules/react-native/Libraries/FBLazyVector" + FBReactNativeSpec: + :path: "../node_modules/react-native/React/FBReactNativeSpec" + glog: + :podspec: "../node_modules/react-native/third-party-podspecs/glog.podspec" + hermes-engine: + :podspec: "../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec" + :tag: hermes-2023-08-07-RNv0.72.4-813b2def12bc9df02654b3e3653ae4a68d0572e0 + Permission-Camera: + :path: "../node_modules/react-native-permissions/ios/Camera" + Permission-Contacts: + :path: "../node_modules/react-native-permissions/ios/Contacts" + Permission-LocationWhenInUse: + :path: "../node_modules/react-native-permissions/ios/LocationWhenInUse" + Permission-Notifications: + :path: "../node_modules/react-native-permissions/ios/Notifications" + RCT-Folly: + :podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec" + RCTRequired: + :path: "../node_modules/react-native/Libraries/RCTRequired" + RCTTypeSafety: + :path: "../node_modules/react-native/Libraries/TypeSafety" + RCTYouTube: + :path: "../node_modules/react-native-youtube" + React: + :path: "../node_modules/react-native/" + React-callinvoker: + :path: "../node_modules/react-native/ReactCommon/callinvoker" + React-Codegen: + :path: build/generated/ios + React-Core: + :path: "../node_modules/react-native/" + React-CoreModules: + :path: "../node_modules/react-native/React/CoreModules" + React-cxxreact: + :path: "../node_modules/react-native/ReactCommon/cxxreact" + React-debug: + :path: "../node_modules/react-native/ReactCommon/react/debug" + React-hermes: + :path: "../node_modules/react-native/ReactCommon/hermes" + React-jsi: + :path: "../node_modules/react-native/ReactCommon/jsi" + React-jsiexecutor: + :path: "../node_modules/react-native/ReactCommon/jsiexecutor" + React-jsinspector: + :path: "../node_modules/react-native/ReactCommon/jsinspector" + React-logger: + :path: "../node_modules/react-native/ReactCommon/logger" + react-native-camera: + :path: "../node_modules/react-native-camera" + react-native-config: + :path: "../node_modules/react-native-config" + react-native-geolocation-service: + :path: "../node_modules/react-native-geolocation-service" + react-native-get-random-values: + :path: "../node_modules/react-native-get-random-values" + react-native-google-maps: + :path: "../node_modules/react-native-maps" + react-native-image-picker: + :path: "../node_modules/react-native-image-picker" + react-native-image-resizer: + :path: "../node_modules/react-native-image-resizer" + react-native-location: + :path: "../node_modules/react-native-location" + react-native-maps: + :path: "../node_modules/react-native-maps" + react-native-mmkv-storage: + :path: "../node_modules/react-native-mmkv-storage" + react-native-netinfo: + :path: "../node_modules/@react-native-community/netinfo" + react-native-render-html: + :path: "../node_modules/react-native-render-html" + react-native-safe-area-context: + :path: "../node_modules/react-native-safe-area-context" + react-native-webview: + :path: "../node_modules/react-native-webview" + React-NativeModulesApple: + :path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios" + React-perflogger: + :path: "../node_modules/react-native/ReactCommon/reactperflogger" + React-RCTActionSheet: + :path: "../node_modules/react-native/Libraries/ActionSheetIOS" + React-RCTAnimation: + :path: "../node_modules/react-native/Libraries/NativeAnimation" + React-RCTAppDelegate: + :path: "../node_modules/react-native/Libraries/AppDelegate" + React-RCTBlob: + :path: "../node_modules/react-native/Libraries/Blob" + React-RCTImage: + :path: "../node_modules/react-native/Libraries/Image" + React-RCTLinking: + :path: "../node_modules/react-native/Libraries/LinkingIOS" + React-RCTNetwork: + :path: "../node_modules/react-native/Libraries/Network" + React-RCTSettings: + :path: "../node_modules/react-native/Libraries/Settings" + React-RCTText: + :path: "../node_modules/react-native/Libraries/Text" + React-RCTVibration: + :path: "../node_modules/react-native/Libraries/Vibration" + React-rncore: + :path: "../node_modules/react-native/ReactCommon" + React-runtimeexecutor: + :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" + React-runtimescheduler: + :path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler" + React-utils: + :path: "../node_modules/react-native/ReactCommon/react/utils" + ReactCommon: + :path: "../node_modules/react-native/ReactCommon" + RNBootSplash: + :path: "../node_modules/react-native-bootsplash" + RNCAsyncStorage: + :path: "../node_modules/@react-native-async-storage/async-storage" + RNCMaskedView: + :path: "../node_modules/@react-native-community/masked-view" + RNCPicker: + :path: "../node_modules/@react-native-picker/picker" + RNCPushNotificationIOS: + :path: "../node_modules/@react-native-community/push-notification-ios" + RNDateTimePicker: + :path: "../node_modules/@react-native-community/datetimepicker" + RNDeviceInfo: + :path: "../node_modules/react-native-device-info" + RNFastImage: + :path: "../node_modules/react-native-fast-image" + RNFS: + :path: "../node_modules/react-native-fs" + RNGestureHandler: + :path: "../node_modules/react-native-gesture-handler" + RNLaunchNavigator: + :path: "../node_modules/react-native-launch-navigator" + RNLocalize: + :path: "../node_modules/react-native-localize" + RNPermissions: + :path: "../node_modules/react-native-permissions" + RNReanimated: + :path: "../node_modules/react-native-reanimated" + RNScreens: + :path: "../node_modules/react-native-screens" + RNSVG: + :path: "../node_modules/react-native-svg" + VisionCamera: + :path: "../node_modules/react-native-vision-camera" + Yoga: + :path: "../node_modules/react-native/ReactCommon/yoga" + +SPEC CHECKSUMS: + boost: 57d2868c099736d80fcd648bf211b4431e51a558 + CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 + DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54 + FBLazyVector: 5d4a3b7f411219a45a6d952f77d2c0a6c9989da5 + FBReactNativeSpec: 3fc2d478e1c4b08276f9dd9128f80ec6d5d85c1f + Flipper: 6edb735e6c3e332975d1b17956bcc584eccf5818 + Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c + Flipper-DoubleConversion: 2dc99b02f658daf147069aad9dbd29d8feb06d30 + Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b + Flipper-Folly: 584845625005ff068a6ebf41f857f468decd26b3 + Flipper-Glog: 70c50ce58ddaf67dc35180db05f191692570f446 + Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 + FlipperKit: 2efad7007d6745a3f95e4034d547be637f89d3f6 + fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 + glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b + Google-Maps-iOS-Utils: 3343332b18dfd5be8f1f44edd7d481ace3da4d9a + GoogleMaps: 032f676450ba0779bd8ce16840690915f84e57ac + hermes-engine: 81191603c4eaa01f5e4ae5737a9efcf64756c7b2 + libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 + libwebp: 1786c9f4ff8a279e4dac1e8f385004d5fc253009 + MMKV: aac95d817a100479445633f2b3ed8961b4ac5043 + MMKVCore: 9cfef4c48c6c46f66226fc2e4634d78490206a48 + OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c + Permission-Camera: 9b70902f34a83c10e198d2d01f0e453e58842776 + Permission-Contacts: 5d89377c3488b99a4b0e62332ba1be6da3103119 + Permission-LocationWhenInUse: 31f52ebddef50c306a585b5a82ca16c8ff582dec + Permission-Notifications: 817390e18898f34adad940cd4141e771e77086ea + RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1 + RCTRequired: c0569ecc035894e4a68baecb30fe6a7ea6e399f9 + RCTTypeSafety: e90354072c21236e0bcf1699011e39acd25fea2f + RCTYouTube: a8bb45705622a6fc9decf64be04128d3658ed411 + React: a1be3c6dc0a6e949ccd3e659781aa47bbae1868f + React-callinvoker: 1020b33f6cb1a1824f9ca2a86609fbce2a73c6ed + React-Codegen: a0a26badf098d4a779acda922caf74f6ecabed28 + React-Core: 52075b80f10c26f62219d7b5d13d7d8089f027b3 + React-CoreModules: 21abab85d7ad9038ce2b1c33d39e3baaf7dc9244 + React-cxxreact: 4ad1cc861e32fb533dad6ff7a4ea25680fa1c994 + React-debug: 17366a3d5c5d2f5fc04f09101a4af38cb42b54ae + React-hermes: 37377d0a56aa0cf55c65248271866ce3268cde3f + React-jsi: 6de8b0ccc6b765b58e4eee9ee38049dbeaf5c221 + React-jsiexecutor: c7f826e40fa9cab5d37cab6130b1af237332b594 + React-jsinspector: aaed4cf551c4a1c98092436518c2d267b13a673f + React-logger: da1ebe05ae06eb6db4b162202faeafac4b435e77 + react-native-camera: 3eae183c1d111103963f3dd913b65d01aef8110f + react-native-config: 86038147314e2e6d10ea9972022aa171e6b1d4d8 + react-native-geolocation-service: 608e1da71a1ac31b4de64d9ef2815f697978c55b + react-native-get-random-values: 384787fd76976f5aec9465aff6fa9e9129af1e74 + react-native-google-maps: 327f65e847bbf98e1b92ccedd3ab322d4a00f56c + react-native-image-picker: 60f4246eb5bb7187fc15638a8c1f13abd3820695 + react-native-image-resizer: d9fb629a867335bdc13230ac2a58702bb8c8828f + react-native-location: 5a40ec1cc6abf2f6d94df979f98ec76c3a415681 + react-native-maps: bea0a31ac1c8c5974ceb1b16b301d72d847c6fb0 + react-native-mmkv-storage: cfb6854594cfdc5f7383a9e464bb025417d1721c + react-native-netinfo: 8a7fd3f7130ef4ad2fb4276d5c9f8d3f28d2df3d + react-native-render-html: 984dfe2294163d04bf5fe25d7c9f122e60e05ebe + react-native-safe-area-context: 9e40fb181dac02619414ba1294d6c2a807056ab9 + react-native-webview: 88293a0f23eca8465c0433c023ec632930e644d0 + React-NativeModulesApple: edb5ace14f73f4969df6e7b1f3e41bef0012740f + React-perflogger: 496a1a3dc6737f964107cb3ddae7f9e265ddda58 + React-RCTActionSheet: 02904b932b50e680f4e26e7a686b33ebf7ef3c00 + React-RCTAnimation: 88feaf0a85648fb8fd497ce749829774910276d6 + React-RCTAppDelegate: 5792ac0f0feccb584765fdd7aa81ea320c4d9b0b + React-RCTBlob: 0dbc9e2a13d241b37d46b53e54630cbad1f0e141 + React-RCTImage: b111645ab901f8e59fc68fbe31f5731bdbeef087 + React-RCTLinking: 3d719727b4c098aad3588aa3559361ee0579f5de + React-RCTNetwork: b44d3580be05d74556ba4efbf53570f17e38f734 + React-RCTSettings: c0c54b330442c29874cd4dae6e94190dc11a6f6f + React-RCTText: 9b9f5589d9b649d7246c3f336e116496df28cfe6 + React-RCTVibration: 691c67f3beaf1d084ceed5eb5c1dddd9afa8591e + React-rncore: 142268f6c92e296dc079aadda3fade778562f9e4 + React-runtimeexecutor: d465ba0c47ef3ed8281143f59605cacc2244d5c7 + React-runtimescheduler: 4941cc1b3cf08b792fbf666342c9fc95f1969035 + React-utils: b79f2411931f9d3ea5781404dcbb2fa8a837e13a + ReactCommon: 4b2bdcb50a3543e1c2b2849ad44533686610826d + RNBootSplash: 85f6b879c080e958afdb4c62ee04497b05fd7552 + RNCAsyncStorage: 687bb9e85dd3d45b966662440dcfc0cd962347e6 + RNCMaskedView: 0e1bc4bfa8365eba5fbbb71e07fbdc0555249489 + RNCPicker: b18aaf30df596e9b1738e7c1f9ee55402a229dca + RNCPushNotificationIOS: 64218f3c776c03d7408284a819b2abfda1834bc8 + RNDateTimePicker: 65e1d202799460b286ff5e741d8baf54695e8abd + RNDeviceInfo: aad3c663b25752a52bf8fce93f2354001dd185aa + RNFastImage: 5c9c9fed9c076e521b3f509fe79e790418a544e8 + RNFS: 4ac0f0ea233904cb798630b3c077808c06931688 + RNGestureHandler: a479ebd5ed4221a810967000735517df0d2db211 + RNLaunchNavigator: d855643e1f842f13c6cc65575e0755975667032c + RNLocalize: d4b8af4e442d4bcca54e68fc687a2129b4d71a81 + RNPermissions: 4e3714e18afe7141d000beae3755e5b5fb2f5e05 + RNReanimated: ab2e96c6d5591c3dfbb38a464f54c8d17fb34a87 + RNScreens: 3c2d122f5e08c192e254c510b212306da97d2581 + RNSVG: d7d7bc8229af3842c9cfc3a723c815a52cdd1105 + SDWebImage: a7f831e1a65eb5e285e3fb046a23fcfbf08e696d + SDWebImageWebPCoder: 908b83b6adda48effe7667cd2b7f78c897e5111d + SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 + VisionCamera: 4b98b273902ac18491bb68481b6601f1f0da0f2d + Yoga: 3efc43e0d48686ce2e8c60f99d4e6bd349aff981 + YogaKit: f782866e155069a2cca2517aafea43200b01fd5a + YoutubePlayer-in-WKWebView: 4fca3b4f6f09940077bfbae7bddb771f2b43aacd + +PODFILE CHECKSUM: 8640abcdca19c579ec36476d02191b0c88e7f502 + +COCOAPODS: 1.14.3 From 10ef902cb1ad9eccd73cef17761f491ad42c0d1f Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 2 Feb 2024 15:23:29 +0800 Subject: [PATCH 006/167] changed version --- .github/workflows/react-native-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index 1cad25e0..34b1504a 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -98,7 +98,7 @@ jobs: run: yarn install - name: Install CocoaPods - run: sudo gem install cocoapods + run: sudo gem install cocoapods -v '1.14.3' - name: Install iOS pods run: cd ios && pod install From 86bb7120d50789cb793d2ba90ee9a63a3e934c58 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 2 Feb 2024 17:39:57 +0800 Subject: [PATCH 007/167] changed name --- .github/workflows/react-native-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index 34b1504a..e47c6082 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -106,5 +106,5 @@ jobs: - name: Build iOS run: npx react-native run-ios --configuration Release - - name: Generate fastlane - run: fastlane beta + - name: Run fastlane + run: fastlane internal From 41bf2d4c07a5303d310a84b596ff639a9e67ffae Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 2 Feb 2024 17:48:31 +0800 Subject: [PATCH 008/167] added android fastlane command --- .github/workflows/react-native-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index e47c6082..d0fd2e03 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -80,6 +80,9 @@ jobs: - name: Build Android run: cd android && ./gradlew assembleDebug + - name: Run fastlane + run: fastlane internal + ios_build: runs-on: macOS-latest steps: From 4593bd5a32cb459e28a04497a99e603dc7eba608 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 2 Feb 2024 17:59:03 +0800 Subject: [PATCH 009/167] added matchfile --- android/fastlane/Matchfile | 13 +++++++++++++ ios/fastlane/Matchfile | 13 +++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 android/fastlane/Matchfile create mode 100644 ios/fastlane/Matchfile diff --git a/android/fastlane/Matchfile b/android/fastlane/Matchfile new file mode 100644 index 00000000..48bc295a --- /dev/null +++ b/android/fastlane/Matchfile @@ -0,0 +1,13 @@ +git_url("https://github.com/fleetbase/navigator-app") + +storage_mode("git") + +type("development") # The default type, can be: appstore, adhoc, enterprise or development + +# app_identifier(["tools.fastlane.app", "tools.fastlane.app2"]) +# username("user@fastlane.tools") # Your Apple Developer Portal username + +# For all available options run `fastlane match --help` +# Remove the # in the beginning of the line to enable the other options + +# The docs are available on https://docs.fastlane.tools/actions/match diff --git a/ios/fastlane/Matchfile b/ios/fastlane/Matchfile new file mode 100644 index 00000000..48bc295a --- /dev/null +++ b/ios/fastlane/Matchfile @@ -0,0 +1,13 @@ +git_url("https://github.com/fleetbase/navigator-app") + +storage_mode("git") + +type("development") # The default type, can be: appstore, adhoc, enterprise or development + +# app_identifier(["tools.fastlane.app", "tools.fastlane.app2"]) +# username("user@fastlane.tools") # Your Apple Developer Portal username + +# For all available options run `fastlane match --help` +# Remove the # in the beginning of the line to enable the other options + +# The docs are available on https://docs.fastlane.tools/actions/match From b1add5b6a7b6e25617cbbe52cab1897dbb9bbe55 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 11:00:33 +0800 Subject: [PATCH 010/167] removed unused line --- ios/fastlane/Fastfile | 1 - 1 file changed, 1 deletion(-) diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index ff656d43..4dbe4cc2 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -19,7 +19,6 @@ platform :ios do FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD = ENV["FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD"] desc "Push a new beta build to TestFlight" lane :beta do - setup_ci if ENV['CI'] increment_build_number(xcodeproj: "NavigatorApp.xcodeproj") build_app(workspace: "NavigatorApp.xcworkspace", scheme: "NavigatorApp") upload_to_testflight From 1a1cd0746e9ed0021e37bcd41ab3f92c35dc8643 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 11:23:36 +0800 Subject: [PATCH 011/167] changed command --- .github/workflows/react-native-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index d0fd2e03..f35edfc2 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -81,7 +81,8 @@ jobs: run: cd android && ./gradlew assembleDebug - name: Run fastlane - run: fastlane internal + run: | + bundle exec fastlane internal ios_build: runs-on: macOS-latest From fa8be21a47ce84aec135b8f71b3edd8a1544861a Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 12:58:15 +0800 Subject: [PATCH 012/167] added bundle command --- .github/workflows/react-native-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index f35edfc2..ac72abc6 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -79,6 +79,9 @@ jobs: - name: Build Android run: cd android && ./gradlew assembleDebug + + - name: Install bundler + run: gem install bundler - name: Run fastlane run: | From 7506a65751d66523e9738613d1fb7dee506cc2a9 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 13:17:30 +0800 Subject: [PATCH 013/167] update --- .github/workflows/react-native-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index ac72abc6..fb94f25b 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -81,7 +81,7 @@ jobs: run: cd android && ./gradlew assembleDebug - name: Install bundler - run: gem install bundler + run: sudo gem install bundler --user-install - name: Run fastlane run: | From 609ad6f12d2700bbd5215bfffbc515354d29a078 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 13:41:17 +0800 Subject: [PATCH 014/167] update --- .github/workflows/react-native-ci.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index fb94f25b..2b8ccca3 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -81,12 +81,18 @@ jobs: run: cd android && ./gradlew assembleDebug - name: Install bundler - run: sudo gem install bundler --user-install + run: | + gem install bundler + bundle install - name: Run fastlane + env: + JAVA_HOME: /opt/hostedtoolcache/Java_Oracle_jdk/17/x64 + JAVA_HOME_17_X64: /opt/hostedtoolcache/Java_Oracle_jdk/17/x64 run: | bundle exec fastlane internal + ios_build: runs-on: macOS-latest steps: From 4bbfdb42f82bbc021a557fd07713d4a2a62c4146 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 14:11:38 +0800 Subject: [PATCH 015/167] updated fastlane --- .github/workflows/react-native-ci.yml | 18 +++++++++--------- android/Gemfile | 4 ++-- ios/Gemfile | 4 ++-- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index 2b8ccca3..9a7b0c02 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -79,19 +79,19 @@ jobs: - name: Build Android run: cd android && ./gradlew assembleDebug - - - name: Install bundler + + - name: Install Fastlane run: | - gem install bundler bundle install + bundle update fastlane - - name: Run fastlane - env: - JAVA_HOME: /opt/hostedtoolcache/Java_Oracle_jdk/17/x64 - JAVA_HOME_17_X64: /opt/hostedtoolcache/Java_Oracle_jdk/17/x64 + - name: release-build run: | - bundle exec fastlane internal - + bundle exec fastlane android release + env: + ANDROID_KEYSTORE_FILE: ${{ secrets.ANDROID_KEYSTORE_FILE }} + ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} + ANDROID_KEYSTORE_ALIAS: ${{ secrets.ANDROID_KEYSTORE_ALIAS }} ios_build: runs-on: macOS-latest diff --git a/android/Gemfile b/android/Gemfile index 7a118b49..a627214d 100644 --- a/android/Gemfile +++ b/android/Gemfile @@ -1,3 +1,3 @@ -source "https://rubygems.org" +source 'https://rubygems.org' -gem "fastlane" +gem 'fastlane' diff --git a/ios/Gemfile b/ios/Gemfile index 7a118b49..a627214d 100644 --- a/ios/Gemfile +++ b/ios/Gemfile @@ -1,3 +1,3 @@ -source "https://rubygems.org" +source 'https://rubygems.org' -gem "fastlane" +gem 'fastlane' From 40f3b7126e1b9c928ee2b44e403aeeb88e144297 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 14:29:47 +0800 Subject: [PATCH 016/167] added ruby command --- .github/workflows/react-native-ci.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index 9a7b0c02..0fe58e6a 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -80,6 +80,11 @@ jobs: - name: Build Android run: cd android && ./gradlew assembleDebug + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '2.7.4' + - name: Install Fastlane run: | bundle install @@ -119,5 +124,7 @@ jobs: - name: Build iOS run: npx react-native run-ios --configuration Release - - name: Run fastlane - run: fastlane internal + - name: Install Fastlane + run: | + bundle install + bundle update fastlane From 5dc845ff9457dcd8f6182c36be7a2a7c6e9ba39c Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 14:52:02 +0800 Subject: [PATCH 017/167] updated command --- .github/workflows/react-native-ci.yml | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index 0fe58e6a..d6083b9e 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -86,17 +86,7 @@ jobs: ruby-version: '2.7.4' - name: Install Fastlane - run: | - bundle install - bundle update fastlane - - - name: release-build - run: | - bundle exec fastlane android release - env: - ANDROID_KEYSTORE_FILE: ${{ secrets.ANDROID_KEYSTORE_FILE }} - ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} - ANDROID_KEYSTORE_ALIAS: ${{ secrets.ANDROID_KEYSTORE_ALIAS }} + run: fastlane beta ios_build: runs-on: macOS-latest From 7bb44d377ab7ea1e121229003f1930188f435e58 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 15:19:56 +0800 Subject: [PATCH 018/167] added setup command --- .github/workflows/react-native-ci.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index d6083b9e..e380489a 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -85,7 +85,16 @@ jobs: with: ruby-version: '2.7.4' + - name: Setup Fastlane + working-directory: ./android + run: bundle install + + - name: Run Fastlane + working-directory: ./android + run: bundle exec fastlane android + - name: Install Fastlane + working-directory: ./android run: fastlane beta ios_build: From f3174f24974312337f1b261a859b1b0891358723 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 15:31:41 +0800 Subject: [PATCH 019/167] update ios command --- .github/workflows/react-native-ci.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index e380489a..aab16e64 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -123,7 +123,11 @@ jobs: - name: Build iOS run: npx react-native run-ios --configuration Release + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '2.7.4' + - name: Install Fastlane - run: | - bundle install - bundle update fastlane + working-directory: ./android + run: fastlane beta From 56a9648c43fd2915a6a9a51fd5eaac7dc2615a8a Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 15:35:41 +0800 Subject: [PATCH 020/167] removed --- .github/workflows/react-native-ci.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index aab16e64..ae158d96 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -89,10 +89,6 @@ jobs: working-directory: ./android run: bundle install - - name: Run Fastlane - working-directory: ./android - run: bundle exec fastlane android - - name: Install Fastlane working-directory: ./android run: fastlane beta From cbc476a16e20873ca5a7391c437c45e921d0fd60 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 15:53:43 +0800 Subject: [PATCH 021/167] fix ios --- .github/workflows/react-native-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index ae158d96..d741a920 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -125,5 +125,5 @@ jobs: ruby-version: '2.7.4' - name: Install Fastlane - working-directory: ./android + working-directory: ./ios run: fastlane beta From fa55823f825535172148e6542726da0a8642986f Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 16:55:44 +0800 Subject: [PATCH 022/167] updated command of fastlane --- .github/workflows/react-native-ci.yml | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index d741a920..984d1942 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -77,6 +77,15 @@ jobs: - name: Make Gradlew Executable run: cd android && chmod +x ./gradlew + - name: Generate release keystore + env: + GOOGLE_SERVICES_JSON: ${{ secrets.RELEASE_KEYSTORE }} + run: | + echo "$RELEASE_KEYSTORE" > release.keystore + mkdir -p android/app/ + mv release.keystore android/app + + - name: Build Android run: cd android && ./gradlew assembleDebug @@ -91,7 +100,7 @@ jobs: - name: Install Fastlane working-directory: ./android - run: fastlane beta + run: fastlane internal ios_build: runs-on: macOS-latest @@ -113,6 +122,10 @@ jobs: - name: Install CocoaPods run: sudo gem install cocoapods -v '1.14.3' + - name: Install Algolia Gem + run: | + gem install algolia + - name: Install iOS pods run: cd ios && pod install @@ -126,4 +139,4 @@ jobs: - name: Install Fastlane working-directory: ./ios - run: fastlane beta + run: fastlane internal \ No newline at end of file From 147c4e6acab102d415cc9bc72ec201ec50812491 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 17:12:13 +0800 Subject: [PATCH 023/167] fix command --- .github/workflows/react-native-ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index 984d1942..c030a001 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -84,7 +84,6 @@ jobs: echo "$RELEASE_KEYSTORE" > release.keystore mkdir -p android/app/ mv release.keystore android/app - - name: Build Android run: cd android && ./gradlew assembleDebug @@ -100,7 +99,7 @@ jobs: - name: Install Fastlane working-directory: ./android - run: fastlane internal + run: fastlane beta ios_build: runs-on: macOS-latest From f1eb89c63c6808a06288a38d3ce5a1e3996a16f1 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 17:26:30 +0800 Subject: [PATCH 024/167] update --- .github/workflows/react-native-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index c030a001..278a3e77 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -138,4 +138,4 @@ jobs: - name: Install Fastlane working-directory: ./ios - run: fastlane internal \ No newline at end of file + run: fastlane beta \ No newline at end of file From 82aa08bb73c3e6d59c8362d0c6e3bc19cb28ff32 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 18:24:56 +0800 Subject: [PATCH 025/167] updated keystore --- .github/workflows/react-native-ci.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index 278a3e77..27042857 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -79,11 +79,12 @@ jobs: - name: Generate release keystore env: - GOOGLE_SERVICES_JSON: ${{ secrets.RELEASE_KEYSTORE }} + RELEASE_KEYSTORE: ${{ secrets.ANDROID_RELEASE_KEYSTORE }} + RELEASE_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} run: | - echo "$RELEASE_KEYSTORE" > release.keystore + echo "$ANDROID_RELEASE_KEYSTORE" > release.keystore mkdir -p android/app/ - mv release.keystore android/app + gpg -d --passphrase "$ANDROID_RELEASE_PASSWORD" --batch release.keystore.asc > app/release.keystore - name: Build Android run: cd android && ./gradlew assembleDebug From 93147aa59c5d96cb3556080eca252d369def5c2f Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 18:32:13 +0800 Subject: [PATCH 026/167] updated command --- .github/workflows/react-native-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index 27042857..1723f67f 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -84,7 +84,7 @@ jobs: run: | echo "$ANDROID_RELEASE_KEYSTORE" > release.keystore mkdir -p android/app/ - gpg -d --passphrase "$ANDROID_RELEASE_PASSWORD" --batch release.keystore.asc > app/release.keystore + gpg -d --passphrase "$ANDROID_RELEASE_PASSWORD" --batch release.keystore.asc > android/app/release.keystore - name: Build Android run: cd android && ./gradlew assembleDebug From 64dfa08279c3b50d764efb058ea8a77778f7f602 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 18:36:10 +0800 Subject: [PATCH 027/167] update ios --- .github/workflows/react-native-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index 1723f67f..8d783a7c 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -138,5 +138,5 @@ jobs: ruby-version: '2.7.4' - name: Install Fastlane - working-directory: ./ios + working-directory: ios run: fastlane beta \ No newline at end of file From 33c5dae0f0cf84407fd34f714d7f8bbfa3261567 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 18:40:45 +0800 Subject: [PATCH 028/167] changed keystore commnd --- .github/workflows/react-native-ci.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index 8d783a7c..25808bf8 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -79,12 +79,11 @@ jobs: - name: Generate release keystore env: - RELEASE_KEYSTORE: ${{ secrets.ANDROID_RELEASE_KEYSTORE }} - RELEASE_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} + ANDROID_RELEASE_KEYSTORE: ${{ secrets.ANDROID_RELEASE_KEYSTORE }} + ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} run: | echo "$ANDROID_RELEASE_KEYSTORE" > release.keystore - mkdir -p android/app/ - gpg -d --passphrase "$ANDROID_RELEASE_PASSWORD" --batch release.keystore.asc > android/app/release.keystore + gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch release.keystore.asc > android/app/release.keystore - name: Build Android run: cd android && ./gradlew assembleDebug From d5c3b4b290fd2a52100b27e66af68d609ef6ec4c Mon Sep 17 00:00:00 2001 From: Enkhbayar Doljinsuren Date: Mon, 5 Feb 2024 18:52:16 +0800 Subject: [PATCH 029/167] Create keystore.yml --- .github/workflows/keystore.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 .github/workflows/keystore.yml diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml new file mode 100644 index 00000000..8d821ac9 --- /dev/null +++ b/.github/workflows/keystore.yml @@ -0,0 +1,21 @@ +name: Fleetbase Navigator App CI + +on: + pull_request: + branches: [ main ] # Trigger for PRs to main branch + +env: + FLEETBASE_KEY: ${{ secrets.FLEETBASE_KEY }} + GOOGLE_MAPS_KEY: ${{ secrets.GOOGLE_MAPS_KEY }} + ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} + ANDROID_RELEASE_KEYSTORE: ${{ secrets.ANDROID_RELEASE_KEYSTORE }} +jobs: + android_build: + runs-on: ubuntu-latest + steps: + + - name: Generate release keystore + run: | + echo "$ANDROID_RELEASE_KEYSTORE" > release.keystore + mkdir -p android/app/ + gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch release.keystore.asc > android/app/release.keystore From 5af3de48ed2ec5a254a93f4fa39b94ebb43d8af2 Mon Sep 17 00:00:00 2001 From: Enkhbayar Doljinsuren Date: Mon, 5 Feb 2024 18:54:03 +0800 Subject: [PATCH 030/167] Update keystore.yml --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 8d821ac9..1749544d 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -16,6 +16,6 @@ jobs: - name: Generate release keystore run: | - echo "$ANDROID_RELEASE_KEYSTORE" > release.keystore + echo "$ANDROID_RELEASE_KEYSTORE" > release.keystore.asc mkdir -p android/app/ gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch release.keystore.asc > android/app/release.keystore From d8922ecf356ce2961b06f6fb5e08aa72d20e004d Mon Sep 17 00:00:00 2001 From: Enkhbayar Doljinsuren Date: Mon, 5 Feb 2024 18:56:37 +0800 Subject: [PATCH 031/167] Update keystore.yml --- .github/workflows/keystore.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 1749544d..d0715e56 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -18,4 +18,6 @@ jobs: run: | echo "$ANDROID_RELEASE_KEYSTORE" > release.keystore.asc mkdir -p android/app/ - gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch release.keystore.asc > android/app/release.keystore + gpg --decrypt --batch --passphrase "$ANDROID_KEYSTORE_PASSWORD" release.keystore.asc + + From 7748c6fabe0cff3e5104f017c6717cf76efa6cc2 Mon Sep 17 00:00:00 2001 From: Enkhbayar Doljinsuren Date: Mon, 5 Feb 2024 18:57:37 +0800 Subject: [PATCH 032/167] Update keystore.yml --- .github/workflows/keystore.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index d0715e56..ac7002c8 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -17,6 +17,7 @@ jobs: - name: Generate release keystore run: | echo "$ANDROID_RELEASE_KEYSTORE" > release.keystore.asc + cat release.keystore.asc mkdir -p android/app/ gpg --decrypt --batch --passphrase "$ANDROID_KEYSTORE_PASSWORD" release.keystore.asc From 5c90dbd3090cb34d20582344da4e6448aa8a08ed Mon Sep 17 00:00:00 2001 From: Enkhbayar Doljinsuren Date: Mon, 5 Feb 2024 19:01:54 +0800 Subject: [PATCH 033/167] fixed generate keystore --- .github/workflows/react-native-ci.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index 25808bf8..5b8115a7 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -8,6 +8,7 @@ env: FLEETBASE_KEY: ${{ secrets.FLEETBASE_KEY }} GOOGLE_MAPS_KEY: ${{ secrets.GOOGLE_MAPS_KEY }} ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} + ANDROID_RELEASE_KEYSTORE: ${{ secrets.ANDROID_RELEASE_KEYSTORE }} jobs: install_and_test: @@ -78,11 +79,8 @@ jobs: run: cd android && chmod +x ./gradlew - name: Generate release keystore - env: - ANDROID_RELEASE_KEYSTORE: ${{ secrets.ANDROID_RELEASE_KEYSTORE }} - ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} run: | - echo "$ANDROID_RELEASE_KEYSTORE" > release.keystore + echo "$ANDROID_RELEASE_KEYSTORE" > release.keystore.asc gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch release.keystore.asc > android/app/release.keystore - name: Build Android @@ -138,4 +136,4 @@ jobs: - name: Install Fastlane working-directory: ios - run: fastlane beta \ No newline at end of file + run: fastlane beta From 50382b8f452f0dae59434aae356b930ac2087e4e Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 19:38:33 +0800 Subject: [PATCH 034/167] changed project env --- android/app/build.gradle | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index b001cda5..ec61c058 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -102,9 +102,9 @@ android { release { if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) { storeFile file('release.keystore') - storePassword project.env.get("ANDROID_KEYSTORE_PASSWORD") - keyAlias project.env.get("ANDROID_ALIAS") - keyPassword project.env.get("ANDROID_KEYSTORE_PASSWORD") + storePassword project.env.get("ANDROID_KEYSTORE_PASSWORD") ?: System.getenv("ANDROID_KEYSTORE_PASSWORD") + keyAlias project.env.get("ANDROID_ALIAS") ?: System.getenv("ANDROID_ALIAS") + keyPassword project.env.get("ANDROID_KEYSTORE_PASSWORD") ?: System.getenv("ANDROID_KEYSTORE_PASSWORD") } } debug { From 8e02a39b22abf50b556d706f5437523086fc8500 Mon Sep 17 00:00:00 2001 From: Enkhbayar Doljinsuren Date: Mon, 5 Feb 2024 21:32:50 +0800 Subject: [PATCH 035/167] Update build.gradle --- android/app/build.gradle | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index ec61c058..b4575758 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -102,6 +102,10 @@ android { release { if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) { storeFile file('release.keystore') + println "Keystore file path: ${keystoreFile}" + println "ANDROID_KEYSTORE_PASSWORD: ${project.env.get('ANDROID_KEYSTORE_PASSWORD') ?: System.getenv('ANDROID_KEYSTORE_PASSWORD')}" + println "ANDROID_ALIAS: ${project.env.get('ANDROID_ALIAS') ?: System.getenv('ANDROID_ALIAS')}" + storePassword project.env.get("ANDROID_KEYSTORE_PASSWORD") ?: System.getenv("ANDROID_KEYSTORE_PASSWORD") keyAlias project.env.get("ANDROID_ALIAS") ?: System.getenv("ANDROID_ALIAS") keyPassword project.env.get("ANDROID_KEYSTORE_PASSWORD") ?: System.getenv("ANDROID_KEYSTORE_PASSWORD") @@ -149,4 +153,4 @@ dependencies { } apply plugin: 'com.google.gms.google-services' -apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) \ No newline at end of file +apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) From 551860130ee137ea3d70ce593b271d5252f8faf1 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 21:41:51 +0800 Subject: [PATCH 036/167] set env on the fastfile --- android/app/build.gradle | 6 +++--- android/fastlane/Fastfile | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index b4575758..63841430 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -106,9 +106,9 @@ android { println "ANDROID_KEYSTORE_PASSWORD: ${project.env.get('ANDROID_KEYSTORE_PASSWORD') ?: System.getenv('ANDROID_KEYSTORE_PASSWORD')}" println "ANDROID_ALIAS: ${project.env.get('ANDROID_ALIAS') ?: System.getenv('ANDROID_ALIAS')}" - storePassword project.env.get("ANDROID_KEYSTORE_PASSWORD") ?: System.getenv("ANDROID_KEYSTORE_PASSWORD") - keyAlias project.env.get("ANDROID_ALIAS") ?: System.getenv("ANDROID_ALIAS") - keyPassword project.env.get("ANDROID_KEYSTORE_PASSWORD") ?: System.getenv("ANDROID_KEYSTORE_PASSWORD") + storePassword project.hasProperty('ANDROID_KEYSTORE_PASSWORD') ? project.ANDROID_KEYSTORE_PASSWORD : System.getenv("ANDROID_KEYSTORE_PASSWORD") + keyAlias project.hasProperty('ANDROID_ALIAS') ? project.ANDROID_ALIAS : System.getenv("ANDROID_ALIAS") + keyPassword project.hasProperty('ANDROID_KEY_PASSWORD') ? project.ANDROID_KEY_PASSWORD : System.getenv("ANDROID_KEY_PASSWORD") } } debug { diff --git a/android/fastlane/Fastfile b/android/fastlane/Fastfile index 1117d08f..6c4e14df 100644 --- a/android/fastlane/Fastfile +++ b/android/fastlane/Fastfile @@ -24,6 +24,11 @@ platform :android do desc "Submit a new Beta Build to Crashlytics Beta" lane :beta do gradle(task: "clean assembleRelease") + properties: { + "ANDROID_KEYSTORE_PASSWORD" => ENV["ANDROID_KEYSTORE_PASSWORD"], + "ANDROID_ALIAS" => ENV["ANDROID_ALIAS"], + "ANDROID_KEY_PASSWORD" => ENV["ANDROID_KEY_PASSWORD"] + } crashlytics # sh "your_script.sh" From fcf6995afa82d86deeacd137b5e6a3c86bc6bd35 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 5 Feb 2024 21:43:18 +0800 Subject: [PATCH 037/167] fixed keystore file name --- android/app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 63841430..2b30df7d 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -102,7 +102,7 @@ android { release { if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) { storeFile file('release.keystore') - println "Keystore file path: ${keystoreFile}" + println "Keystore file path: ${storeFile}" println "ANDROID_KEYSTORE_PASSWORD: ${project.env.get('ANDROID_KEYSTORE_PASSWORD') ?: System.getenv('ANDROID_KEYSTORE_PASSWORD')}" println "ANDROID_ALIAS: ${project.env.get('ANDROID_ALIAS') ?: System.getenv('ANDROID_ALIAS')}" From f4d16aac3644bfd9f523e79486eb644def78322f Mon Sep 17 00:00:00 2001 From: Enkhbayar Doljinsuren Date: Mon, 5 Feb 2024 22:03:35 +0800 Subject: [PATCH 038/167] Update Fastfile --- android/fastlane/Fastfile | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/android/fastlane/Fastfile b/android/fastlane/Fastfile index 6c4e14df..2cd28234 100644 --- a/android/fastlane/Fastfile +++ b/android/fastlane/Fastfile @@ -23,12 +23,14 @@ platform :android do desc "Submit a new Beta Build to Crashlytics Beta" lane :beta do - gradle(task: "clean assembleRelease") - properties: { - "ANDROID_KEYSTORE_PASSWORD" => ENV["ANDROID_KEYSTORE_PASSWORD"], - "ANDROID_ALIAS" => ENV["ANDROID_ALIAS"], - "ANDROID_KEY_PASSWORD" => ENV["ANDROID_KEY_PASSWORD"] - } + gradle( + task: "clean assembleRelease", + properties: { + "ANDROID_KEYSTORE_PASSWORD" => ENV["ANDROID_KEYSTORE_PASSWORD"], + "ANDROID_ALIAS" => ENV["ANDROID_ALIAS"], + "ANDROID_KEY_PASSWORD" => ENV["ANDROID_KEY_PASSWORD"] + } + ) crashlytics # sh "your_script.sh" From 7ac507ca1a9dbbab73146d7f77723cd0c9e97872 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Tue, 6 Feb 2024 10:23:21 +0800 Subject: [PATCH 039/167] removed unused file --- android/fastlane/Fastfile | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/android/fastlane/Fastfile b/android/fastlane/Fastfile index 2cd28234..fef5efcf 100644 --- a/android/fastlane/Fastfile +++ b/android/fastlane/Fastfile @@ -24,12 +24,7 @@ platform :android do desc "Submit a new Beta Build to Crashlytics Beta" lane :beta do gradle( - task: "clean assembleRelease", - properties: { - "ANDROID_KEYSTORE_PASSWORD" => ENV["ANDROID_KEYSTORE_PASSWORD"], - "ANDROID_ALIAS" => ENV["ANDROID_ALIAS"], - "ANDROID_KEY_PASSWORD" => ENV["ANDROID_KEY_PASSWORD"] - } + task: "clean assembleRelease" ) crashlytics From aa747d5285e33ff9426cc73a33fc60469a22828c Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Tue, 6 Feb 2024 10:44:07 +0800 Subject: [PATCH 040/167] changed gradle file --- android/app/build.gradle | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 2b30df7d..ec61c058 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -102,13 +102,9 @@ android { release { if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) { storeFile file('release.keystore') - println "Keystore file path: ${storeFile}" - println "ANDROID_KEYSTORE_PASSWORD: ${project.env.get('ANDROID_KEYSTORE_PASSWORD') ?: System.getenv('ANDROID_KEYSTORE_PASSWORD')}" - println "ANDROID_ALIAS: ${project.env.get('ANDROID_ALIAS') ?: System.getenv('ANDROID_ALIAS')}" - - storePassword project.hasProperty('ANDROID_KEYSTORE_PASSWORD') ? project.ANDROID_KEYSTORE_PASSWORD : System.getenv("ANDROID_KEYSTORE_PASSWORD") - keyAlias project.hasProperty('ANDROID_ALIAS') ? project.ANDROID_ALIAS : System.getenv("ANDROID_ALIAS") - keyPassword project.hasProperty('ANDROID_KEY_PASSWORD') ? project.ANDROID_KEY_PASSWORD : System.getenv("ANDROID_KEY_PASSWORD") + storePassword project.env.get("ANDROID_KEYSTORE_PASSWORD") ?: System.getenv("ANDROID_KEYSTORE_PASSWORD") + keyAlias project.env.get("ANDROID_ALIAS") ?: System.getenv("ANDROID_ALIAS") + keyPassword project.env.get("ANDROID_KEYSTORE_PASSWORD") ?: System.getenv("ANDROID_KEYSTORE_PASSWORD") } } debug { @@ -153,4 +149,4 @@ dependencies { } apply plugin: 'com.google.gms.google-services' -apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) +apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project) \ No newline at end of file From 4494c6b081dac491b69688aed923abcc391dad1f Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Tue, 6 Feb 2024 11:10:24 +0800 Subject: [PATCH 041/167] changed keyalies --- android/app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index ec61c058..79734947 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -103,7 +103,7 @@ android { if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) { storeFile file('release.keystore') storePassword project.env.get("ANDROID_KEYSTORE_PASSWORD") ?: System.getenv("ANDROID_KEYSTORE_PASSWORD") - keyAlias project.env.get("ANDROID_ALIAS") ?: System.getenv("ANDROID_ALIAS") + keyAlias 'navigator' keyPassword project.env.get("ANDROID_KEYSTORE_PASSWORD") ?: System.getenv("ANDROID_KEYSTORE_PASSWORD") } } From b783d8a891be1f022bc557fc6ee00121018d0cad Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Tue, 6 Feb 2024 11:35:33 +0800 Subject: [PATCH 042/167] removed unused line --- android/fastlane/Fastfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/android/fastlane/Fastfile b/android/fastlane/Fastfile index fef5efcf..9c6ace25 100644 --- a/android/fastlane/Fastfile +++ b/android/fastlane/Fastfile @@ -26,8 +26,6 @@ platform :android do gradle( task: "clean assembleRelease" ) - crashlytics - # sh "your_script.sh" # You can also use other beta testing services here end From b24be019ad5091d1edb333d2b65a5c3614f0c61d Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Tue, 6 Feb 2024 11:59:50 +0800 Subject: [PATCH 043/167] fix command ios --- .github/workflows/react-native-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index 5b8115a7..d8e182d8 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -135,5 +135,5 @@ jobs: ruby-version: '2.7.4' - name: Install Fastlane - working-directory: ios + working-directory: ./ios run: fastlane beta From 579adfc1d6ab1c4324df19ba864e82c89014c439 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Tue, 6 Feb 2024 12:45:35 +0800 Subject: [PATCH 044/167] add bundle command --- .github/workflows/react-native-ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/react-native-ci.yml b/.github/workflows/react-native-ci.yml index d8e182d8..e55a7d3f 100644 --- a/.github/workflows/react-native-ci.yml +++ b/.github/workflows/react-native-ci.yml @@ -133,6 +133,10 @@ jobs: uses: ruby/setup-ruby@v1 with: ruby-version: '2.7.4' + + - name: Setup Fastlane + working-directory: ./ios + run: bundle install - name: Install Fastlane working-directory: ./ios From 6294789e51a9147323a48844e5ca4d2c6b057f30 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Tue, 6 Feb 2024 12:57:36 +0800 Subject: [PATCH 045/167] test keystore --- .github/workflows/keystore.yml | 46 +++++++++++++++++++++++++++------- 1 file changed, 37 insertions(+), 9 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index ac7002c8..65e92871 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -9,16 +9,44 @@ env: GOOGLE_MAPS_KEY: ${{ secrets.GOOGLE_MAPS_KEY }} ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} ANDROID_RELEASE_KEYSTORE: ${{ secrets.ANDROID_RELEASE_KEYSTORE }} + jobs: - android_build: - runs-on: ubuntu-latest + ios_build: + runs-on: macOS-latest steps: - - - name: Generate release keystore - run: | - echo "$ANDROID_RELEASE_KEYSTORE" > release.keystore.asc - cat release.keystore.asc - mkdir -p android/app/ - gpg --decrypt --batch --passphrase "$ANDROID_KEYSTORE_PASSWORD" release.keystore.asc + - name: Checkout code + uses: actions/checkout@v3 + + - name: Install Node.js + uses: actions/setup-node@v4 + with: + node-version: 18.x + + - name: Install dependencies + run: npm install -g yarn + - name: Install dependencies + run: yarn install + + - name: Install CocoaPods + run: sudo gem install cocoapods -v '1.14.3' + + - name: Install Algolia Gem + run: | + gem install algolia + - name: Install iOS pods + run: cd ios && pod install + + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '2.7.4' + + - name: Setup Fastlane + working-directory: ./ios + run: bundle install + + - name: Install Fastlane + working-directory: ./ios + run: fastlane beta From 6baab6db613011831519302f27f1bbb3032b3b65 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Tue, 6 Feb 2024 13:04:14 +0800 Subject: [PATCH 046/167] updated --- .github/workflows/keystore.yml | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 65e92871..2b9a0001 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -11,6 +11,23 @@ env: ANDROID_RELEASE_KEYSTORE: ${{ secrets.ANDROID_RELEASE_KEYSTORE }} jobs: + install_and_test: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Install Node.js + uses: actions/setup-node@v1 + with: + node-version: 18.x + + - name: Install dependencies + run: npm install -g yarn + + - name: Install dependencies + run: yarn install + ios_build: runs-on: macOS-latest steps: @@ -42,7 +59,6 @@ jobs: uses: ruby/setup-ruby@v1 with: ruby-version: '2.7.4' - - name: Setup Fastlane working-directory: ./ios run: bundle install From 5d6175d1f78fc3b3af95ae838412d8aedebedd7d Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Tue, 6 Feb 2024 13:35:44 +0800 Subject: [PATCH 047/167] removed unused line --- ios/fastlane/Fastfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index 4dbe4cc2..0f892af7 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -16,8 +16,7 @@ default_platform(:ios) platform :ios do - FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD = ENV["FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD"] - desc "Push a new beta build to TestFlight" + desc "Push a new beta build to TestFlight" lane :beta do increment_build_number(xcodeproj: "NavigatorApp.xcodeproj") build_app(workspace: "NavigatorApp.xcworkspace", scheme: "NavigatorApp") From cf9b6a565fd50196dbce5b18c916d36715c4cef5 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Tue, 6 Feb 2024 13:55:13 +0800 Subject: [PATCH 048/167] changed name --- .github/workflows/keystore.yml | 19 +------------------ ios/fastlane/Appfile | 8 ++++---- 2 files changed, 5 insertions(+), 22 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 2b9a0001..e2651e4b 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -11,23 +11,6 @@ env: ANDROID_RELEASE_KEYSTORE: ${{ secrets.ANDROID_RELEASE_KEYSTORE }} jobs: - install_and_test: - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Install Node.js - uses: actions/setup-node@v1 - with: - node-version: 18.x - - - name: Install dependencies - run: npm install -g yarn - - - name: Install dependencies - run: yarn install - ios_build: runs-on: macOS-latest steps: @@ -65,4 +48,4 @@ jobs: - name: Install Fastlane working-directory: ./ios - run: fastlane beta + run: fastlane beta \ No newline at end of file diff --git a/ios/fastlane/Appfile b/ios/fastlane/Appfile index 3491b5f4..bf171c7f 100644 --- a/ios/fastlane/Appfile +++ b/ios/fastlane/Appfile @@ -1,8 +1,8 @@ -app_identifier(ENV("IO_IDENTIFIER")) # The bundle identifier of your app -apple_id(ENV("APP_ID")) # Your Apple Developer Portal username +app_identifier(ENV("IOS_IDENTIFIER")) # The bundle identifier of your app +apple_id(ENV("APPLE_ID")) # Your Apple Developer Portal username -itc_team_id(ENV("ITC_KEY")) # App Store Connect Team ID -team_id(ENV("DEV_KEY")) # Developer Portal Team ID +itc_team_id(ENV("TEAM_ID")) # App Store Connect Team ID +team_id(ENV("DEVELOPER_ID")) # Developer Portal Team ID # For more information about the Appfile, see: From 81beadfb4d6252aefa236d67b68fd4b8373cc2e4 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Tue, 6 Feb 2024 14:37:33 +0800 Subject: [PATCH 049/167] updated fastline file --- .../AppIcon.appiconset/Contents.json | 355 +++++++++++++++++- ios/fastlane/Fastfile | 13 + 2 files changed, 367 insertions(+), 1 deletion(-) diff --git a/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/Contents.json b/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/Contents.json index ffab2548..6bf81eb6 100644 --- a/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/ios/NavigatorApp/Images.xcassets/AppIcon.appiconset/Contents.json @@ -1 +1,354 @@ -{"images":[{"size":"60x60","expected-size":"180","filename":"180.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"40x40","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"60x60","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"57x57","expected-size":"57","filename":"57.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"57x57","expected-size":"114","filename":"114.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"60","filename":"60.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"1024x1024","filename":"1024.png","expected-size":"1024","idiom":"ios-marketing","folder":"Assets.xcassets/AppIcon.appiconset/","scale":"1x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"72x72","expected-size":"72","filename":"72.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"76x76","expected-size":"152","filename":"152.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"50x50","expected-size":"100","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"76x76","expected-size":"76","filename":"76.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"50x50","expected-size":"50","filename":"50.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"72x72","expected-size":"144","filename":"144.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"40x40","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"83.5x83.5","expected-size":"167","filename":"167.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"20x20","expected-size":"20","filename":"20.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"idiom":"watch","filename":"172.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"86x86","expected-size":"172","role":"quickLook"},{"idiom":"watch","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"40x40","expected-size":"80","role":"appLauncher"},{"idiom":"watch","filename":"88.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"40mm","scale":"2x","size":"44x44","expected-size":"88","role":"appLauncher"},{"idiom":"watch","filename":"102.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"41mm","scale":"2x","size":"45x45","expected-size":"102","role":"appLauncher"},{"idiom":"watch","filename":"92.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"41mm","scale":"2x","size":"46x46","expected-size":"92","role":"appLauncher"},{"idiom":"watch","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"44mm","scale":"2x","size":"50x50","expected-size":"100","role":"appLauncher"},{"idiom":"watch","filename":"196.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"42mm","scale":"2x","size":"98x98","expected-size":"196","role":"quickLook"},{"idiom":"watch","filename":"216.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"44mm","scale":"2x","size":"108x108","expected-size":"216","role":"quickLook"},{"idiom":"watch","filename":"48.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"24x24","expected-size":"48","role":"notificationCenter"},{"idiom":"watch","filename":"55.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"42mm","scale":"2x","size":"27.5x27.5","expected-size":"55","role":"notificationCenter"},{"idiom":"watch","filename":"66.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"45mm","scale":"2x","size":"33x33","expected-size":"66","role":"notificationCenter"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch","role":"companionSettings","scale":"3x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch","role":"companionSettings","scale":"2x"},{"size":"1024x1024","expected-size":"1024","filename":"1024.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch-marketing","scale":"1x"},{"size":"128x128","expected-size":"128","filename":"128.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"256x256","expected-size":"256","filename":"256.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"128x128","expected-size":"256","filename":"256.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"256x256","expected-size":"512","filename":"512.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"32x32","expected-size":"32","filename":"32.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"512x512","expected-size":"512","filename":"512.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"16x16","expected-size":"16","filename":"16.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"16x16","expected-size":"32","filename":"32.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"32x32","expected-size":"64","filename":"64.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"512x512","expected-size":"1024","filename":"1024.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"}]} \ No newline at end of file +{ + "images" : [ + { + "filename" : "40.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "60.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "20x20" + }, + { + "filename" : "29.png", + "idiom" : "iphone", + "scale" : "1x", + "size" : "29x29" + }, + { + "filename" : "58.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "87.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "29x29" + }, + { + "filename" : "80.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "120.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "40x40" + }, + { + "filename" : "57.png", + "idiom" : "iphone", + "scale" : "1x", + "size" : "57x57" + }, + { + "filename" : "114.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "57x57" + }, + { + "filename" : "120.png", + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "filename" : "180.png", + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "filename" : "20.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "20x20" + }, + { + "filename" : "40.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "20x20" + }, + { + "filename" : "29.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "29x29" + }, + { + "filename" : "58.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "40.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "40x40" + }, + { + "filename" : "80.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "40x40" + }, + { + "filename" : "50.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "50x50" + }, + { + "filename" : "100.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "50x50" + }, + { + "filename" : "72.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "72x72" + }, + { + "filename" : "144.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "72x72" + }, + { + "filename" : "76.png", + "idiom" : "ipad", + "scale" : "1x", + "size" : "76x76" + }, + { + "filename" : "152.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "76x76" + }, + { + "filename" : "167.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "filename" : "1024.png", + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + }, + { + "filename" : "16.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "16x16" + }, + { + "filename" : "32.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "16x16" + }, + { + "filename" : "32.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "32x32" + }, + { + "filename" : "64.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "32x32" + }, + { + "filename" : "128.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "128x128" + }, + { + "filename" : "256.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "128x128" + }, + { + "filename" : "256.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "256x256" + }, + { + "filename" : "512.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "256x256" + }, + { + "filename" : "512.png", + "idiom" : "mac", + "scale" : "1x", + "size" : "512x512" + }, + { + "filename" : "1024.png", + "idiom" : "mac", + "scale" : "2x", + "size" : "512x512" + }, + { + "filename" : "48.png", + "idiom" : "watch", + "role" : "notificationCenter", + "scale" : "2x", + "size" : "24x24", + "subtype" : "38mm" + }, + { + "filename" : "55.png", + "idiom" : "watch", + "role" : "notificationCenter", + "scale" : "2x", + "size" : "27.5x27.5", + "subtype" : "42mm" + }, + { + "filename" : "58.png", + "idiom" : "watch", + "role" : "companionSettings", + "scale" : "2x", + "size" : "29x29" + }, + { + "filename" : "87.png", + "idiom" : "watch", + "role" : "companionSettings", + "scale" : "3x", + "size" : "29x29" + }, + { + "filename" : "66.png", + "idiom" : "watch", + "role" : "notificationCenter", + "scale" : "2x", + "size" : "33x33", + "subtype" : "45mm" + }, + { + "filename" : "80.png", + "idiom" : "watch", + "role" : "appLauncher", + "scale" : "2x", + "size" : "40x40", + "subtype" : "38mm" + }, + { + "filename" : "88.png", + "idiom" : "watch", + "role" : "appLauncher", + "scale" : "2x", + "size" : "44x44", + "subtype" : "40mm" + }, + { + "filename" : "92.png", + "idiom" : "watch", + "role" : "appLauncher", + "scale" : "2x", + "size" : "46x46", + "subtype" : "41mm" + }, + { + "filename" : "100.png", + "idiom" : "watch", + "role" : "appLauncher", + "scale" : "2x", + "size" : "50x50", + "subtype" : "44mm" + }, + { + "idiom" : "watch", + "role" : "appLauncher", + "scale" : "2x", + "size" : "51x51", + "subtype" : "45mm" + }, + { + "idiom" : "watch", + "role" : "appLauncher", + "scale" : "2x", + "size" : "54x54", + "subtype" : "49mm" + }, + { + "filename" : "172.png", + "idiom" : "watch", + "role" : "quickLook", + "scale" : "2x", + "size" : "86x86", + "subtype" : "38mm" + }, + { + "filename" : "196.png", + "idiom" : "watch", + "role" : "quickLook", + "scale" : "2x", + "size" : "98x98", + "subtype" : "42mm" + }, + { + "filename" : "216.png", + "idiom" : "watch", + "role" : "quickLook", + "scale" : "2x", + "size" : "108x108", + "subtype" : "44mm" + }, + { + "idiom" : "watch", + "role" : "quickLook", + "scale" : "2x", + "size" : "117x117", + "subtype" : "45mm" + }, + { + "idiom" : "watch", + "role" : "quickLook", + "scale" : "2x", + "size" : "129x129", + "subtype" : "49mm" + }, + { + "filename" : "1024.png", + "idiom" : "watch-marketing", + "scale" : "1x", + "size" : "1024x1024" + }, + { + "filename" : "102.png", + "idiom" : "watch", + "role" : "appLauncher", + "scale" : "2x", + "size" : "45x45", + "subtype" : "41mm" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index 0f892af7..17819476 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -15,6 +15,17 @@ default_platform(:ios) +app_identifier (ENV("IOS_IDENTIFIER")) +apple_id (ENV("APPLE_ID")) +team_id (ENV("DEVELOPER_ID")) + +for_platform :ios do + team_id (ENV("DEVELOPER_ID")) # for all iOS related things + for_lane :test do + app_identifier (ENV("IOS_IDENTIFIER")) + end +end + platform :ios do desc "Push a new beta build to TestFlight" lane :beta do @@ -24,3 +35,5 @@ platform :ios do slack(message: "Successfully distributed a new beta build") end end + + From e738392308461043a4b0af99f712cca11f3dc823 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Tue, 6 Feb 2024 14:59:12 +0800 Subject: [PATCH 050/167] fix appfile --- ios/fastlane/Appfile | 7 +++++++ ios/fastlane/Fastfile | 11 ----------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/ios/fastlane/Appfile b/ios/fastlane/Appfile index bf171c7f..e26d14f4 100644 --- a/ios/fastlane/Appfile +++ b/ios/fastlane/Appfile @@ -5,5 +5,12 @@ itc_team_id(ENV("TEAM_ID")) # App Store Connect Team ID team_id(ENV("DEVELOPER_ID")) # Developer Portal Team ID +for_platform :ios do + team_id (ENV("DEVELOPER_ID")) # for all iOS related things + for_lane :test do + app_identifier (ENV("IOS_IDENTIFIER")) + end +end + # For more information about the Appfile, see: # https://docs.fastlane.tools/advanced/#appfile diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index 17819476..9e23268d 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -15,17 +15,6 @@ default_platform(:ios) -app_identifier (ENV("IOS_IDENTIFIER")) -apple_id (ENV("APPLE_ID")) -team_id (ENV("DEVELOPER_ID")) - -for_platform :ios do - team_id (ENV("DEVELOPER_ID")) # for all iOS related things - for_lane :test do - app_identifier (ENV("IOS_IDENTIFIER")) - end -end - platform :ios do desc "Push a new beta build to TestFlight" lane :beta do From 7e0ffc2d10e230afa545fb3d8a7d9e0c751c73da Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Tue, 6 Feb 2024 15:50:30 +0800 Subject: [PATCH 051/167] added xcode command --- .github/workflows/keystore.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index e2651e4b..acc4fdca 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -45,6 +45,9 @@ jobs: - name: Setup Fastlane working-directory: ./ios run: bundle install + + - name: Build iOS app + run: xcodebuild -workspace NavigatorApp.xcworkspace -scheme NavigatorApp -sdk iphonesimulator -configuration Debug -allowProvisioningUpdates - name: Install Fastlane working-directory: ./ios From 907f614dd52f1307e8f4b246e30b222af2fc798e Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Tue, 6 Feb 2024 16:11:27 +0800 Subject: [PATCH 052/167] add ios command --- .github/workflows/keystore.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index acc4fdca..46a55fce 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -42,6 +42,7 @@ jobs: uses: ruby/setup-ruby@v1 with: ruby-version: '2.7.4' + - name: Setup Fastlane working-directory: ./ios run: bundle install From 251900c85fea271d1edf79144ff466f7f0bcbccf Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Tue, 6 Feb 2024 16:18:32 +0800 Subject: [PATCH 053/167] fix --- .github/workflows/keystore.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 46a55fce..9711e2be 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -48,6 +48,7 @@ jobs: run: bundle install - name: Build iOS app + working-directory: ./ios run: xcodebuild -workspace NavigatorApp.xcworkspace -scheme NavigatorApp -sdk iphonesimulator -configuration Debug -allowProvisioningUpdates - name: Install Fastlane From 0bfbe3a40cd88f613d52b3794b91dc9bd794a112 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Tue, 6 Feb 2024 17:39:36 +0800 Subject: [PATCH 054/167] added provision --- .github/workflows/keystore.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 9711e2be..f0deb1f5 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -9,6 +9,7 @@ env: GOOGLE_MAPS_KEY: ${{ secrets.GOOGLE_MAPS_KEY }} ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} ANDROID_RELEASE_KEYSTORE: ${{ secrets.ANDROID_RELEASE_KEYSTORE }} + IOS_PROVISION: ${{ secrets.IOS_PROVISION }} jobs: ios_build: @@ -47,9 +48,16 @@ jobs: working-directory: ./ios run: bundle install - - name: Build iOS app + # - name: Build iOS app + # working-directory: ./ios + # run: xcodebuild -workspace NavigatorApp.xcworkspace -scheme NavigatorApp -sdk iphonesimulator -configuration Debug -allowProvisioningUpdates + + - name: Generate fastlane provision working-directory: ./ios - run: xcodebuild -workspace NavigatorApp.xcworkspace -scheme NavigatorApp -sdk iphonesimulator -configuration Debug -allowProvisioningUpdates + run: | + echo "$IOS_PROVISION" > Fastlane.mobileprovision.asc + gpg -d --passphrase "$IOS_PROVISION" --batch Fastlane.mobileprovision.asc > ios/Fastlane.mobileprovision.asc + - name: Install Fastlane working-directory: ./ios From 7d4242386895070d283580da4517aed4d2f5cb41 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Tue, 6 Feb 2024 17:52:14 +0800 Subject: [PATCH 055/167] update password --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index f0deb1f5..35dfb375 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -56,7 +56,7 @@ jobs: working-directory: ./ios run: | echo "$IOS_PROVISION" > Fastlane.mobileprovision.asc - gpg -d --passphrase "$IOS_PROVISION" --batch Fastlane.mobileprovision.asc > ios/Fastlane.mobileprovision.asc + gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch Fastlane.mobileprovision.asc > ios/Fastlane.mobileprovision - name: Install Fastlane From 6ab2f44ff3542b27f5a588ce906ec920f6837030 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Tue, 6 Feb 2024 18:18:52 +0800 Subject: [PATCH 056/167] fix --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 35dfb375..fcdf2d0f 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -56,7 +56,7 @@ jobs: working-directory: ./ios run: | echo "$IOS_PROVISION" > Fastlane.mobileprovision.asc - gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch Fastlane.mobileprovision.asc > ios/Fastlane.mobileprovision + gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch Fastlane.mobileprovision.asc > ios/Fastlane.mobileprovision.asc - name: Install Fastlane From 3973f09bcbd18bac62799e056c46b59808731c9b Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Tue, 6 Feb 2024 18:55:07 +0800 Subject: [PATCH 057/167] added scanfile --- .github/workflows/keystore.yml | 12 ------------ ios/fastlane/ScanFile | 11 +++++++++++ 2 files changed, 11 insertions(+), 12 deletions(-) create mode 100644 ios/fastlane/ScanFile diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index fcdf2d0f..ed04cf20 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -47,18 +47,6 @@ jobs: - name: Setup Fastlane working-directory: ./ios run: bundle install - - # - name: Build iOS app - # working-directory: ./ios - # run: xcodebuild -workspace NavigatorApp.xcworkspace -scheme NavigatorApp -sdk iphonesimulator -configuration Debug -allowProvisioningUpdates - - - name: Generate fastlane provision - working-directory: ./ios - run: | - echo "$IOS_PROVISION" > Fastlane.mobileprovision.asc - gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch Fastlane.mobileprovision.asc > ios/Fastlane.mobileprovision.asc - - - name: Install Fastlane working-directory: ./ios run: fastlane beta \ No newline at end of file diff --git a/ios/fastlane/ScanFile b/ios/fastlane/ScanFile new file mode 100644 index 00000000..b58afe2b --- /dev/null +++ b/ios/fastlane/ScanFile @@ -0,0 +1,11 @@ +# For more information about this configuration visit +# https://github.com/fastlane/scan#scanfile + +workspace " NavigatorApp.xcworkspace/NavigatorApp" +scheme "AnyApp" +sdk "iphonesimulator" +device "iPhone 11" +code_coverage true +xcargs '-parallelizeTargets' +prelaunch_simulator true +derived_data_path "Build/" \ No newline at end of file From b93c7e44bb62e550042c0d4905718a2b41da4232 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 10:13:28 +0800 Subject: [PATCH 058/167] test provision --- .github/workflows/keystore.yml | 38 ++++------------------------------ 1 file changed, 4 insertions(+), 34 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index ed04cf20..14e2be34 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -15,38 +15,8 @@ jobs: ios_build: runs-on: macOS-latest steps: - - name: Checkout code - uses: actions/checkout@v3 - - - name: Install Node.js - uses: actions/setup-node@v4 - with: - node-version: 18.x - - - name: Install dependencies - run: npm install -g yarn - - - name: Install dependencies - run: yarn install - - - name: Install CocoaPods - run: sudo gem install cocoapods -v '1.14.3' - - - name: Install Algolia Gem - run: | - gem install algolia - - - name: Install iOS pods - run: cd ios && pod install - - - name: Setup Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: '2.7.4' - - - name: Setup Fastlane + - name: Generate fastlane provision working-directory: ./ios - run: bundle install - - name: Install Fastlane - working-directory: ./ios - run: fastlane beta \ No newline at end of file + run: | + echo "$IOS_PROVISION" > Fastlane.mobileprovision.asc + gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch Fastlane.mobileprovision.asc > ios/Fastlane.mobileprovision.asc \ No newline at end of file From f0191432007c9404cc7b66a9c1f1dbdccd69e7cb Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 10:14:54 +0800 Subject: [PATCH 059/167] fix --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 14e2be34..9a0e003e 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -16,7 +16,7 @@ jobs: runs-on: macOS-latest steps: - name: Generate fastlane provision - working-directory: ./ios + working-directory: ios run: | echo "$IOS_PROVISION" > Fastlane.mobileprovision.asc gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch Fastlane.mobileprovision.asc > ios/Fastlane.mobileprovision.asc \ No newline at end of file From 5c6bb305d7a60ec3952c5b759ad598ccd8606c44 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 10:25:42 +0800 Subject: [PATCH 060/167] changed command --- .github/workflows/keystore.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 9a0e003e..4999235e 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -1,4 +1,4 @@ -name: Fleetbase Navigator App CI +name: PREVISION CI on: pull_request: @@ -18,5 +18,4 @@ jobs: - name: Generate fastlane provision working-directory: ios run: | - echo "$IOS_PROVISION" > Fastlane.mobileprovision.asc - gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch Fastlane.mobileprovision.asc > ios/Fastlane.mobileprovision.asc \ No newline at end of file + echo "$IOS_PROVISION" > Fastlane.mobileprovision \ No newline at end of file From 496b4524ff87ec92d759c67ddcc840f4d61df65d Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 10:29:35 +0800 Subject: [PATCH 061/167] changed command --- .github/workflows/keystore.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 4999235e..9609b15f 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -5,10 +5,6 @@ on: branches: [ main ] # Trigger for PRs to main branch env: - FLEETBASE_KEY: ${{ secrets.FLEETBASE_KEY }} - GOOGLE_MAPS_KEY: ${{ secrets.GOOGLE_MAPS_KEY }} - ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} - ANDROID_RELEASE_KEYSTORE: ${{ secrets.ANDROID_RELEASE_KEYSTORE }} IOS_PROVISION: ${{ secrets.IOS_PROVISION }} jobs: @@ -16,6 +12,6 @@ jobs: runs-on: macOS-latest steps: - name: Generate fastlane provision - working-directory: ios run: | - echo "$IOS_PROVISION" > Fastlane.mobileprovision \ No newline at end of file + cd ios && echo "$IOS_PROVISION" > Fastlane.mobileprovision.asc + gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch Fastlane.mobileprovision.asc > ios/Fastlane.mobileprovision.asc \ No newline at end of file From 94c3c115b40944b5cd36f6dd13aa5bcb91c46b6e Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 13:18:06 +0800 Subject: [PATCH 062/167] changed app file --- .github/workflows/keystore.yml | 33 ++++++++++++++++++++++++++------- ios/fastlane/Appfile | 6 ------ ios/fastlane/Fastfile | 4 +--- ios/fastlane/Matchfile | 2 ++ 4 files changed, 29 insertions(+), 16 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 9609b15f..7c4a79e1 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -4,14 +4,33 @@ on: pull_request: branches: [ main ] # Trigger for PRs to main branch -env: - IOS_PROVISION: ${{ secrets.IOS_PROVISION }} - jobs: ios_build: runs-on: macOS-latest steps: - - name: Generate fastlane provision - run: | - cd ios && echo "$IOS_PROVISION" > Fastlane.mobileprovision.asc - gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch Fastlane.mobileprovision.asc > ios/Fastlane.mobileprovision.asc \ No newline at end of file + - name: Set up ruby env + uses: ruby/setup-ruby@v1 + with: + ruby-version: 3.2.2 + bundler-cache: true + + - name: pod install + run: pod install + - name: pod update + run: pod update + - name: Select Xcode + run: sudo Xcode-select -switch /Applications/Xcode_14.2.app/Contents/Developer + - name: Build + run: xcodebuild clean build -workspace NavigatorApp.xcworkspace -scheme -destination 'platform=iOS Simulator,name=iPhone 14 Pro example,OS=16.2' + - name: upload iOS binary + uses: maierj/fastlane-action@v1.4.0 + with: + lane: bundle exec fastlane ios upload_ios_beta_Testflight + env: + APPLE_ID: '${{ secrets.APPLE_ID }}' + IOS_IDENTIFIER: '${{ secrets.IOS_IDENTIFIER }}' + TEAM_ID: '${{ secrets.TEAM_ID }}' + FASTLANE_APPLE_ID: '${{ secrets.FASTLANE_APPLE_ID }}' + FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: '${{ secrets.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }}' + MATCH_PASSWORD: '${{ secrets.MATCH_PASSWORD }}' + GIT_AUTHORIZATION: '${{ secrets.GIT_AUTHORIZATION }}' \ No newline at end of file diff --git a/ios/fastlane/Appfile b/ios/fastlane/Appfile index e26d14f4..dd160c1b 100644 --- a/ios/fastlane/Appfile +++ b/ios/fastlane/Appfile @@ -5,12 +5,6 @@ itc_team_id(ENV("TEAM_ID")) # App Store Connect Team ID team_id(ENV("DEVELOPER_ID")) # Developer Portal Team ID -for_platform :ios do - team_id (ENV("DEVELOPER_ID")) # for all iOS related things - for_lane :test do - app_identifier (ENV("IOS_IDENTIFIER")) - end -end # For more information about the Appfile, see: # https://docs.fastlane.tools/advanced/#appfile diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index 9e23268d..70e9f00f 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -23,6 +23,4 @@ platform :ios do upload_to_testflight slack(message: "Successfully distributed a new beta build") end -end - - +end \ No newline at end of file diff --git a/ios/fastlane/Matchfile b/ios/fastlane/Matchfile index 48bc295a..9dc8e850 100644 --- a/ios/fastlane/Matchfile +++ b/ios/fastlane/Matchfile @@ -11,3 +11,5 @@ type("development") # The default type, can be: appstore, adhoc, enterprise or d # Remove the # in the beginning of the line to enable the other options # The docs are available on https://docs.fastlane.tools/actions/match + +git_basic_authorization: Base64.strict_encode64(ENV["GIT_AUTHORIZATION"]), From 70ff00fd8f09c37b9c535851ab2ee261f6b0a851 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 13:20:41 +0800 Subject: [PATCH 063/167] pod updated --- .github/workflows/keystore.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 7c4a79e1..2280abcf 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -14,10 +14,8 @@ jobs: ruby-version: 3.2.2 bundler-cache: true - - name: pod install - run: pod install - - name: pod update - run: pod update + - name: Install iOS pods + run: cd ios && pod install - name: Select Xcode run: sudo Xcode-select -switch /Applications/Xcode_14.2.app/Contents/Developer - name: Build From cb6f51e151404da96a6066dded3d4ad81d57a210 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 13:47:21 +0800 Subject: [PATCH 064/167] removed --- .github/workflows/keystore.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 2280abcf..8024ce48 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -13,9 +13,6 @@ jobs: with: ruby-version: 3.2.2 bundler-cache: true - - - name: Install iOS pods - run: cd ios && pod install - name: Select Xcode run: sudo Xcode-select -switch /Applications/Xcode_14.2.app/Contents/Developer - name: Build From 90684e79d35af5799fafbc64fe062797d8325777 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 13:53:35 +0800 Subject: [PATCH 065/167] change fastlane file name --- .github/workflows/keystore.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 8024ce48..4e3fa22b 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -17,10 +17,15 @@ jobs: run: sudo Xcode-select -switch /Applications/Xcode_14.2.app/Contents/Developer - name: Build run: xcodebuild clean build -workspace NavigatorApp.xcworkspace -scheme -destination 'platform=iOS Simulator,name=iPhone 14 Pro example,OS=16.2' - - name: upload iOS binary - uses: maierj/fastlane-action@v1.4.0 - with: - lane: bundle exec fastlane ios upload_ios_beta_Testflight + + - name: Setup Fastlane + working-directory: ./ios + run: bundle install + + - name: Install Fastlane + working-directory: ./ios + run: fastlane beta + env: APPLE_ID: '${{ secrets.APPLE_ID }}' IOS_IDENTIFIER: '${{ secrets.IOS_IDENTIFIER }}' From b652c855036134f424f61cbd4dd62696213c0f20 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 13:55:59 +0800 Subject: [PATCH 066/167] fix --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 4e3fa22b..5eb59dc3 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -16,7 +16,7 @@ jobs: - name: Select Xcode run: sudo Xcode-select -switch /Applications/Xcode_14.2.app/Contents/Developer - name: Build - run: xcodebuild clean build -workspace NavigatorApp.xcworkspace -scheme -destination 'platform=iOS Simulator,name=iPhone 14 Pro example,OS=16.2' + run: xcodebuild clean build -workspace NavigatorApp.xcworkspace -scheme NavigatorApp -destination 'platform=iOS Simulator,name=iPhone 14 Pro example,OS=16.2' - name: Setup Fastlane working-directory: ./ios From a9094dda416eef8e9f69cd4cbd48a75f81edfcd0 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 13:57:41 +0800 Subject: [PATCH 067/167] removed --- .github/workflows/keystore.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 5eb59dc3..75a0072e 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -13,11 +13,7 @@ jobs: with: ruby-version: 3.2.2 bundler-cache: true - - name: Select Xcode - run: sudo Xcode-select -switch /Applications/Xcode_14.2.app/Contents/Developer - - name: Build - run: xcodebuild clean build -workspace NavigatorApp.xcworkspace -scheme NavigatorApp -destination 'platform=iOS Simulator,name=iPhone 14 Pro example,OS=16.2' - + - name: Setup Fastlane working-directory: ./ios run: bundle install From f15197831b837b38e2639518303d7454b16743dc Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 13:58:56 +0800 Subject: [PATCH 068/167] fix --- .github/workflows/keystore.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 75a0072e..f21a75f9 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -13,13 +13,13 @@ jobs: with: ruby-version: 3.2.2 bundler-cache: true - + - name: Setup Fastlane - working-directory: ./ios + working-directory: ios run: bundle install - name: Install Fastlane - working-directory: ./ios + working-directory: ios run: fastlane beta env: From 56bc57e730fdc2d9b0ad9e84d2e86919fb52cc9b Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 14:04:11 +0800 Subject: [PATCH 069/167] changed --- .github/workflows/keystore.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index f21a75f9..f67fc703 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -8,18 +8,17 @@ jobs: ios_build: runs-on: macOS-latest steps: - - name: Set up ruby env + - name: Setup Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: 3.2.2 - bundler-cache: true + ruby-version: '2.7.4' - name: Setup Fastlane - working-directory: ios + working-directory: ./ios run: bundle install - name: Install Fastlane - working-directory: ios + working-directory: ./ios run: fastlane beta env: From a96e9abdcf48ad943d33be3e59125f87ad45f9e4 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 14:07:54 +0800 Subject: [PATCH 070/167] remove --- .github/workflows/keystore.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index f67fc703..d88b367f 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -14,11 +14,9 @@ jobs: ruby-version: '2.7.4' - name: Setup Fastlane - working-directory: ./ios run: bundle install - name: Install Fastlane - working-directory: ./ios run: fastlane beta env: From a59388919cc598348d77dbabd7a49df321a9fc71 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 14:21:47 +0800 Subject: [PATCH 071/167] removed --- .github/workflows/keystore.yml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index d88b367f..36f079fa 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -4,6 +4,9 @@ on: pull_request: branches: [ main ] # Trigger for PRs to main branch +env: + IOS_PROVISION: ${{ secrets.IOS_PROVISION }} + jobs: ios_build: runs-on: macOS-latest @@ -18,12 +21,5 @@ jobs: - name: Install Fastlane run: fastlane beta - env: - APPLE_ID: '${{ secrets.APPLE_ID }}' - IOS_IDENTIFIER: '${{ secrets.IOS_IDENTIFIER }}' - TEAM_ID: '${{ secrets.TEAM_ID }}' - FASTLANE_APPLE_ID: '${{ secrets.FASTLANE_APPLE_ID }}' - FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: '${{ secrets.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }}' - MATCH_PASSWORD: '${{ secrets.MATCH_PASSWORD }}' - GIT_AUTHORIZATION: '${{ secrets.GIT_AUTHORIZATION }}' \ No newline at end of file + MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} \ No newline at end of file From f2076f30888e3abda899ff18a5105dff4c587203 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 14:29:31 +0800 Subject: [PATCH 072/167] change yml --- .github/workflows/keystore.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 36f079fa..8833872c 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -17,9 +17,11 @@ jobs: ruby-version: '2.7.4' - name: Setup Fastlane + working-directory: ./ios run: bundle install - name: Install Fastlane + working-directory: ./ios run: fastlane beta env: MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} \ No newline at end of file From f756c94cc43f07b6cba53fc3927eb3e70ce4172a Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 14:32:51 +0800 Subject: [PATCH 073/167] fix --- .github/workflows/keystore.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 8833872c..eb8a2fdc 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -5,7 +5,7 @@ on: branches: [ main ] # Trigger for PRs to main branch env: - IOS_PROVISION: ${{ secrets.IOS_PROVISION }} + MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} jobs: ios_build: @@ -22,6 +22,4 @@ jobs: - name: Install Fastlane working-directory: ./ios - run: fastlane beta - env: - MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} \ No newline at end of file + run: fastlane beta \ No newline at end of file From 94c2639440339c64b69d71174ec38a15eb83a83e Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 14:35:01 +0800 Subject: [PATCH 074/167] removed slash --- .github/workflows/keystore.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index eb8a2fdc..40c2b7be 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -17,9 +17,9 @@ jobs: ruby-version: '2.7.4' - name: Setup Fastlane - working-directory: ./ios + working-directory: ios run: bundle install - name: Install Fastlane - working-directory: ./ios + working-directory: ios run: fastlane beta \ No newline at end of file From f5471312d6a5221e81caf697f4d70a537a291ebd Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 14:42:32 +0800 Subject: [PATCH 075/167] removed --- .github/workflows/keystore.yml | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 40c2b7be..779ad49c 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -10,16 +10,15 @@ env: jobs: ios_build: runs-on: macOS-latest - steps: - - name: Setup Ruby - uses: ruby/setup-ruby@v1 - with: + steps: + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: ruby-version: '2.7.4' - - - name: Setup Fastlane - working-directory: ios - run: bundle install + - name: Setup Fastlane + working-directory: ./ios + run: bundle install - - name: Install Fastlane - working-directory: ios - run: fastlane beta \ No newline at end of file + - name: Install Fastlane + working-directory: ./ios + run: fastlane beta From cc788b4df46509fa7de9d20dc7a4ee6ec3659e6c Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 14:48:33 +0800 Subject: [PATCH 076/167] removed --- .github/workflows/keystore.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 779ad49c..e959af39 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -16,9 +16,9 @@ jobs: with: ruby-version: '2.7.4' - name: Setup Fastlane - working-directory: ./ios + working-directory: ios run: bundle install - name: Install Fastlane - working-directory: ./ios + working-directory: ios run: fastlane beta From 54168d7dec1b1d3c383823013bab4a9090c0e38f Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 14:53:18 +0800 Subject: [PATCH 077/167] changed directory --- .github/workflows/keystore.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index e959af39..c7a148f2 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -16,9 +16,7 @@ jobs: with: ruby-version: '2.7.4' - name: Setup Fastlane - working-directory: ios - run: bundle install + run: cd ios && bundle install - name: Install Fastlane - working-directory: ios - run: fastlane beta + run: cd ios && fastlane beta From c45b515c677b30fb873cfbcc7e4cc55c1b5f37e7 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 14:57:03 +0800 Subject: [PATCH 078/167] checkout --- .github/workflows/keystore.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index c7a148f2..2eb1f7a4 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -10,7 +10,10 @@ env: jobs: ios_build: runs-on: macOS-latest - steps: + steps: + - name: Checkout code + uses: actions/checkout@v3 + - name: Setup Ruby uses: ruby/setup-ruby@v1 with: From 74e880dae812e70396fdcfb0d51e74f5d80ef8b3 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 15:05:00 +0800 Subject: [PATCH 079/167] remove --- ios/fastlane/Matchfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/ios/fastlane/Matchfile b/ios/fastlane/Matchfile index 9dc8e850..48bc295a 100644 --- a/ios/fastlane/Matchfile +++ b/ios/fastlane/Matchfile @@ -11,5 +11,3 @@ type("development") # The default type, can be: appstore, adhoc, enterprise or d # Remove the # in the beginning of the line to enable the other options # The docs are available on https://docs.fastlane.tools/actions/match - -git_basic_authorization: Base64.strict_encode64(ENV["GIT_AUTHORIZATION"]), From 5c0e10ff8f5508a424e840965d823be20e381ae1 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 15:22:31 +0800 Subject: [PATCH 080/167] add pod --- .github/workflows/keystore.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 2eb1f7a4..25286eaf 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -14,6 +14,9 @@ jobs: - name: Checkout code uses: actions/checkout@v3 + - name: Install CocoaPods + run: sudo gem install cocoapods -v '1.14.3' + - name: Setup Ruby uses: ruby/setup-ruby@v1 with: From 07cf7523fb1ddec9c7a5f5485e61ce1d7ba6c3e1 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 15:48:58 +0800 Subject: [PATCH 081/167] update --- .github/workflows/keystore.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 25286eaf..d686272b 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -23,6 +23,12 @@ jobs: ruby-version: '2.7.4' - name: Setup Fastlane run: cd ios && bundle install + + - name: Generate fastlane provision + working-directory: ./ios + run: | + echo "$IOS_PROVISION" > Fastlane.mobileprovision.asc + gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch Fastlane.mobileprovision.asc > ios/Fastlane.mobileprovision.asc - name: Install Fastlane run: cd ios && fastlane beta From 93f94889a92d3a87d21d18bb8d394724aa7fcd06 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 16:14:12 +0800 Subject: [PATCH 082/167] changed matchfiile --- ios/fastlane/Matchfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ios/fastlane/Matchfile b/ios/fastlane/Matchfile index 48bc295a..cf2eb026 100644 --- a/ios/fastlane/Matchfile +++ b/ios/fastlane/Matchfile @@ -4,8 +4,9 @@ storage_mode("git") type("development") # The default type, can be: appstore, adhoc, enterprise or development -# app_identifier(["tools.fastlane.app", "tools.fastlane.app2"]) -# username("user@fastlane.tools") # Your Apple Developer Portal username +app_identifier(ENV("IOS_IDENTIFIER")) +username(ENV("APPLE_ID")) # Your Apple Developer Portal username + # For all available options run `fastlane match --help` # Remove the # in the beginning of the line to enable the other options From 641eeb67d38d24dc7fe30a0d7d75f657c368688e Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 16:16:20 +0800 Subject: [PATCH 083/167] removed --- .github/workflows/keystore.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index d686272b..d6ccbee0 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -24,11 +24,5 @@ jobs: - name: Setup Fastlane run: cd ios && bundle install - - name: Generate fastlane provision - working-directory: ./ios - run: | - echo "$IOS_PROVISION" > Fastlane.mobileprovision.asc - gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch Fastlane.mobileprovision.asc > ios/Fastlane.mobileprovision.asc - - name: Install Fastlane run: cd ios && fastlane beta From cbda55244e4a1c7754cfa7089242f5eb9118e89d Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 16:23:18 +0800 Subject: [PATCH 084/167] changed fastfile --- ios/fastlane/Fastfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index 70e9f00f..88e026ea 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -19,7 +19,7 @@ platform :ios do desc "Push a new beta build to TestFlight" lane :beta do increment_build_number(xcodeproj: "NavigatorApp.xcodeproj") - build_app(workspace: "NavigatorApp.xcworkspace", scheme: "NavigatorApp") + build_app(workspace: "NavigatorApp.xcworkspace", scheme: "NavigatorApp",xcargs: "-allowProvisioningUpdates") upload_to_testflight slack(message: "Successfully distributed a new beta build") end From 9070928c81fedfb96e01c450fefaa422e7711e72 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 16:43:12 +0800 Subject: [PATCH 085/167] changed fastline file --- ios/fastlane/Fastfile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index 88e026ea..e4602ef8 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -21,6 +21,12 @@ platform :ios do increment_build_number(xcodeproj: "NavigatorApp.xcodeproj") build_app(workspace: "NavigatorApp.xcworkspace", scheme: "NavigatorApp",xcargs: "-allowProvisioningUpdates") upload_to_testflight + api_key = app_store_connect_api_key( + key_id: (ENV("APPLE_KEY_ID")), + issuer_id: (ENV("ISSUER_ID")), + key_filepath: (ENV("AUTH_KEY")) + ) + slack(message: "Successfully distributed a new beta build") end end \ No newline at end of file From de7095a7078c113d13043da54ef4bd6f840ca09c Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 16:57:40 +0800 Subject: [PATCH 086/167] fix file --- .github/workflows/keystore.yml | 4 ++++ ios/fastlane/Fastfile | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index d6ccbee0..5f31e9a3 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -21,8 +21,12 @@ jobs: uses: ruby/setup-ruby@v1 with: ruby-version: '2.7.4' + - name: Setup Fastlane run: cd ios && bundle install + - name: Setup app store api key + run: ${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENTS }} > ./ios/AuthKey.p8 + - name: Install Fastlane run: cd ios && fastlane beta diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index e4602ef8..6547cc25 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -24,7 +24,7 @@ platform :ios do api_key = app_store_connect_api_key( key_id: (ENV("APPLE_KEY_ID")), issuer_id: (ENV("ISSUER_ID")), - key_filepath: (ENV("AUTH_KEY")) + key_filepath: "./ios/AuthKey.p8" ) slack(message: "Successfully distributed a new beta build") From 7f345bca5d3390226d75730e4ac436788f392ae9 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 17:01:39 +0800 Subject: [PATCH 087/167] update command --- .github/workflows/keystore.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 5f31e9a3..ec38406e 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -6,6 +6,7 @@ on: env: MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} + jobs: ios_build: @@ -26,7 +27,7 @@ jobs: run: cd ios && bundle install - name: Setup app store api key - run: ${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENTS }} > ./ios/AuthKey.p8 + run: echo ${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENTS }} > ./ios/AuthKey.p8 - name: Install Fastlane run: cd ios && fastlane beta From 97d0faf03fe552d078ed528cd50688f38c417ab0 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 17:10:57 +0800 Subject: [PATCH 088/167] fix file --- .github/workflows/keystore.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index ec38406e..9b61b4b8 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -26,8 +26,10 @@ jobs: - name: Setup Fastlane run: cd ios && bundle install - - name: Setup app store api key - run: echo ${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENTS }} > ./ios/AuthKey.p8 + - name: Setup App Store Connect API Key + run: | + echo "${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENTS }}" > ./ios/AuthKey.p8 + chmod 600 ./ios/AuthKey.p8 - name: Install Fastlane run: cd ios && fastlane beta From 7b7bc5545637896a7f7f4a403e86d759af3950f7 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 17:22:47 +0800 Subject: [PATCH 089/167] add ios permission command --- .github/workflows/keystore.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 9b61b4b8..c0502ad0 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -15,6 +15,9 @@ jobs: - name: Checkout code uses: actions/checkout@v3 + - name: Set permissions for ios/Pods/ directory + run: chmod -R +rx ios/Pods/ + - name: Install CocoaPods run: sudo gem install cocoapods -v '1.14.3' From a879ef52a411d37e4e941a2ba04e76c66afe2a49 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 17:27:02 +0800 Subject: [PATCH 090/167] change --- .github/workflows/keystore.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index c0502ad0..51770a27 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -15,9 +15,6 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Set permissions for ios/Pods/ directory - run: chmod -R +rx ios/Pods/ - - name: Install CocoaPods run: sudo gem install cocoapods -v '1.14.3' @@ -29,6 +26,9 @@ jobs: - name: Setup Fastlane run: cd ios && bundle install + - name: Set permissions for ios/Pods/ directory + run: chmod -R +rx ./ios/Pods/ + - name: Setup App Store Connect API Key run: | echo "${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENTS }}" > ./ios/AuthKey.p8 From ff31e8b54ecd56af0cc44daa05cb7da95ef8a7f4 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Wed, 7 Feb 2024 17:29:25 +0800 Subject: [PATCH 091/167] removed slash --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 51770a27..8f546437 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -27,7 +27,7 @@ jobs: run: cd ios && bundle install - name: Set permissions for ios/Pods/ directory - run: chmod -R +rx ./ios/Pods/ + run: chmod -R +rx ./ios/Pods - name: Setup App Store Connect API Key run: | From 877fee246c72e00ace0994a744498ec2e92523d7 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Thu, 8 Feb 2024 10:29:38 +0800 Subject: [PATCH 092/167] update --- .github/workflows/keystore.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 8f546437..9b61b4b8 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -26,9 +26,6 @@ jobs: - name: Setup Fastlane run: cd ios && bundle install - - name: Set permissions for ios/Pods/ directory - run: chmod -R +rx ./ios/Pods - - name: Setup App Store Connect API Key run: | echo "${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENTS }}" > ./ios/AuthKey.p8 From ef3556261cc2df638434a2ea7acb217129afa6c2 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Thu, 8 Feb 2024 11:40:31 +0800 Subject: [PATCH 093/167] update --- ios/fastlane/Fastfile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index 6547cc25..8f512dac 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -20,12 +20,12 @@ platform :ios do lane :beta do increment_build_number(xcodeproj: "NavigatorApp.xcodeproj") build_app(workspace: "NavigatorApp.xcworkspace", scheme: "NavigatorApp",xcargs: "-allowProvisioningUpdates") - upload_to_testflight - api_key = app_store_connect_api_key( - key_id: (ENV("APPLE_KEY_ID")), - issuer_id: (ENV("ISSUER_ID")), + upload_to_testflight(api_key: { + key_id: ENV['APPLE_KEY_ID'], + issuer_id: ENV['ISSUER_ID'], key_filepath: "./ios/AuthKey.p8" - ) + }) + slack(message: "Successfully distributed a new beta build") end From 43726fbc6cd725d4e68852e01f358a64c9f79f97 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Thu, 8 Feb 2024 13:29:49 +0800 Subject: [PATCH 094/167] update --- .github/workflows/keystore.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 9b61b4b8..63875a76 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -31,5 +31,8 @@ jobs: echo "${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENTS }}" > ./ios/AuthKey.p8 chmod 600 ./ios/AuthKey.p8 + - name: Expo build + run: eas build --platform ios --profile release --local --non-interactive + - name: Install Fastlane run: cd ios && fastlane beta From b304e9b5d1d578b59b0944632bbb636c22fe2acc Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Thu, 8 Feb 2024 16:40:43 +0800 Subject: [PATCH 095/167] remove --- .github/workflows/keystore.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 63875a76..9b61b4b8 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -31,8 +31,5 @@ jobs: echo "${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENTS }}" > ./ios/AuthKey.p8 chmod 600 ./ios/AuthKey.p8 - - name: Expo build - run: eas build --platform ios --profile release --local --non-interactive - - name: Install Fastlane run: cd ios && fastlane beta From 765fa0368afe5fb6a9a0f02852823252bb6cf031 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Thu, 8 Feb 2024 17:16:58 +0800 Subject: [PATCH 096/167] updated --- .github/workflows/keystore.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 9b61b4b8..e9a7f578 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -31,5 +31,10 @@ jobs: echo "${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENTS }}" > ./ios/AuthKey.p8 chmod 600 ./ios/AuthKey.p8 + - name: Archive + run: xcodebuild -workspace ios/App/NavigatorApp.xcworkspace + -scheme App clean archive -configuration release + -sdk iphoneos -allowProvisioningUpdates DEVELOPMENT_TEAM=${{secrets.TEAM_ID}} -archivePath ios/App/App.xcarchive + - name: Install Fastlane run: cd ios && fastlane beta From 5b800933a109fe3c65bcc7df4119411c63aa06bb Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Thu, 8 Feb 2024 17:20:20 +0800 Subject: [PATCH 097/167] fix --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index e9a7f578..825e8d7d 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -34,7 +34,7 @@ jobs: - name: Archive run: xcodebuild -workspace ios/App/NavigatorApp.xcworkspace -scheme App clean archive -configuration release - -sdk iphoneos -allowProvisioningUpdates DEVELOPMENT_TEAM=${{secrets.TEAM_ID}} -archivePath ios/App/App.xcarchive + -sdk iphoneos -allowProvisioningUpdates DEVELOPMENT_TEAM=${{secrets.TEAM_ID}} -archivePath ios/App.xcarchive - name: Install Fastlane run: cd ios && fastlane beta From 94f0aaf0bf347a0aec9debf266f5cdf0ba78355f Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Thu, 8 Feb 2024 17:23:36 +0800 Subject: [PATCH 098/167] update --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 825e8d7d..1129b6f5 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -32,7 +32,7 @@ jobs: chmod 600 ./ios/AuthKey.p8 - name: Archive - run: xcodebuild -workspace ios/App/NavigatorApp.xcworkspace + run: xcodebuild -workspace ios/NavigatorApp.xcworkspace -scheme App clean archive -configuration release -sdk iphoneos -allowProvisioningUpdates DEVELOPMENT_TEAM=${{secrets.TEAM_ID}} -archivePath ios/App.xcarchive From 5011b3e4b8a9ab7be36648668c26246868516020 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Thu, 8 Feb 2024 17:37:31 +0800 Subject: [PATCH 099/167] remove command --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 1129b6f5..0baa0be3 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -34,7 +34,7 @@ jobs: - name: Archive run: xcodebuild -workspace ios/NavigatorApp.xcworkspace -scheme App clean archive -configuration release - -sdk iphoneos -allowProvisioningUpdates DEVELOPMENT_TEAM=${{secrets.TEAM_ID}} -archivePath ios/App.xcarchive + -sdk iphoneos -allowProvisioningUpdates DEVELOPMENT_TEAM=${{secrets.TEAM_ID}} - name: Install Fastlane run: cd ios && fastlane beta From cc21bf13d3bbbe3ebfcaab64392ed211307701bf Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Thu, 8 Feb 2024 17:43:06 +0800 Subject: [PATCH 100/167] fix --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 0baa0be3..a5e1c1ac 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -33,7 +33,7 @@ jobs: - name: Archive run: xcodebuild -workspace ios/NavigatorApp.xcworkspace - -scheme App clean archive -configuration release + -scheme NavigatorApp clean archive -configuration release -sdk iphoneos -allowProvisioningUpdates DEVELOPMENT_TEAM=${{secrets.TEAM_ID}} - name: Install Fastlane From 54634be7a16fab4c2260ea503ed250d09f253ec3 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Thu, 8 Feb 2024 17:50:26 +0800 Subject: [PATCH 101/167] fix --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index a5e1c1ac..3a84e03c 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -32,7 +32,7 @@ jobs: chmod 600 ./ios/AuthKey.p8 - name: Archive - run: xcodebuild -workspace ios/NavigatorApp.xcworkspace + run: cd ios && xcodebuild -workspace ios/NavigatorApp.xcworkspace -scheme NavigatorApp clean archive -configuration release -sdk iphoneos -allowProvisioningUpdates DEVELOPMENT_TEAM=${{secrets.TEAM_ID}} From 6fc8010da6f9cf64da674242fbe7be06c65d871b Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Thu, 8 Feb 2024 17:55:03 +0800 Subject: [PATCH 102/167] update --- .github/workflows/keystore.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 3a84e03c..662e029d 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -31,10 +31,7 @@ jobs: echo "${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENTS }}" > ./ios/AuthKey.p8 chmod 600 ./ios/AuthKey.p8 - - name: Archive - run: cd ios && xcodebuild -workspace ios/NavigatorApp.xcworkspace - -scheme NavigatorApp clean archive -configuration release - -sdk iphoneos -allowProvisioningUpdates DEVELOPMENT_TEAM=${{secrets.TEAM_ID}} - + - name: Archive iOS app + run: xcodebuild -workspace ./ios/NavigatorApp.xcworkspace -scheme NavigatorApp clean archive -configuration release -sdk iphoneos -allowProvisioningUpdates DEVELOPMENT_TEAM=${{ secrets.TEAM_ID }} - name: Install Fastlane run: cd ios && fastlane beta From 95ed626b21bdb8a1d6533bda063dd767ec2b38ce Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Thu, 8 Feb 2024 18:07:18 +0800 Subject: [PATCH 103/167] fix --- .github/workflows/keystore.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 662e029d..223a6bfe 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -30,6 +30,12 @@ jobs: run: | echo "${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENTS }}" > ./ios/AuthKey.p8 chmod 600 ./ios/AuthKey.p8 + + - name: Install dependencies + run: npm install -g yarn + + - name: Install dependencies + run: yarn install - name: Archive iOS app run: xcodebuild -workspace ./ios/NavigatorApp.xcworkspace -scheme NavigatorApp clean archive -configuration release -sdk iphoneos -allowProvisioningUpdates DEVELOPMENT_TEAM=${{ secrets.TEAM_ID }} From c25b5429d72525ba593ceb98c01be364a4734048 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Thu, 8 Feb 2024 18:15:31 +0800 Subject: [PATCH 104/167] pod update --- .github/workflows/keystore.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 223a6bfe..296bbc44 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -37,6 +37,9 @@ jobs: - name: Install dependencies run: yarn install + - name: Install iOS pods + run: cd ios && pod install + - name: Archive iOS app run: xcodebuild -workspace ./ios/NavigatorApp.xcworkspace -scheme NavigatorApp clean archive -configuration release -sdk iphoneos -allowProvisioningUpdates DEVELOPMENT_TEAM=${{ secrets.TEAM_ID }} - name: Install Fastlane From e3851344c724c308d974ca7fbe49b85164b191e8 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Thu, 8 Feb 2024 18:26:26 +0800 Subject: [PATCH 105/167] update --- .github/workflows/keystore.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 296bbc44..94aa24a0 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -41,6 +41,7 @@ jobs: run: cd ios && pod install - name: Archive iOS app - run: xcodebuild -workspace ./ios/NavigatorApp.xcworkspace -scheme NavigatorApp clean archive -configuration release -sdk iphoneos -allowProvisioningUpdates DEVELOPMENT_TEAM=${{ secrets.TEAM_ID }} + run: xcodebuild -workspace ./ios/NavigatorApp.xcworkspace -scheme NavigatorApp clean archive -configuration release -sdk iphoneos -allowProvisioningUpdates DEVELOPMENT_TEAM=${{ secrets.TEAM_ID }} BUNDLER=${{ secrets.IOS_IDENTIFIER }} + - name: Install Fastlane run: cd ios && fastlane beta From 4a3ad344093b5aabe0f745ffe7fb3cfc815713ef Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Thu, 15 Feb 2024 17:07:12 +0800 Subject: [PATCH 106/167] update --- .github/workflows/keystore.yml | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 94aa24a0..4fdf4a9d 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -14,6 +14,10 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v3 + + - uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: latest-stable - name: Install CocoaPods run: sudo gem install cocoapods -v '1.14.3' @@ -40,8 +44,14 @@ jobs: - name: Install iOS pods run: cd ios && pod install - - name: Archive iOS app - run: xcodebuild -workspace ./ios/NavigatorApp.xcworkspace -scheme NavigatorApp clean archive -configuration release -sdk iphoneos -allowProvisioningUpdates DEVELOPMENT_TEAM=${{ secrets.TEAM_ID }} BUNDLER=${{ secrets.IOS_IDENTIFIER }} - + - name: Swift Packages Cache + uses: actions/cache@v2 + id: cache + with: + path: | + Build/SourcePackages + Build/Build/Products + key: ${{ runner.os }}-deps-v1-${{ hashFiles('BILDsolid.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved') }} + restore-keys: ${{ runner.os }}-deps-v1- - name: Install Fastlane run: cd ios && fastlane beta From 10ea3c183c4ed644f98e262e848d4611a4f32c85 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Thu, 15 Feb 2024 17:43:55 +0800 Subject: [PATCH 107/167] remove --- .github/workflows/keystore.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 4fdf4a9d..3e60ef6e 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -41,9 +41,6 @@ jobs: - name: Install dependencies run: yarn install - - name: Install iOS pods - run: cd ios && pod install - - name: Swift Packages Cache uses: actions/cache@v2 id: cache From 29687d1cbaccc280d9a3a9f5c4a316c6f020b65d Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 10:51:54 +0800 Subject: [PATCH 108/167] fix --- ios/fastlane/Matchfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/fastlane/Matchfile b/ios/fastlane/Matchfile index cf2eb026..110f1ccb 100644 --- a/ios/fastlane/Matchfile +++ b/ios/fastlane/Matchfile @@ -4,7 +4,7 @@ storage_mode("git") type("development") # The default type, can be: appstore, adhoc, enterprise or development -app_identifier(ENV("IOS_IDENTIFIER")) +app_identifier('io.fleetbase.navigator') username(ENV("APPLE_ID")) # Your Apple Developer Portal username From 994544effbedc649c82d157df237b168c8c184b6 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 11:18:26 +0800 Subject: [PATCH 109/167] update --- ios/fastlane/Matchfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/fastlane/Matchfile b/ios/fastlane/Matchfile index 110f1ccb..dc631071 100644 --- a/ios/fastlane/Matchfile +++ b/ios/fastlane/Matchfile @@ -4,7 +4,7 @@ storage_mode("git") type("development") # The default type, can be: appstore, adhoc, enterprise or development -app_identifier('io.fleetbase.navigator') +app_identifier(["io.fleetbase.navigator"]) username(ENV("APPLE_ID")) # Your Apple Developer Portal username From 1f05ef861ff846a719a3b9ba534801b9598131cd Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 11:31:22 +0800 Subject: [PATCH 110/167] updated --- .github/workflows/keystore.yml | 24 +++++++++--------------- ios/fastlane/Matchfile | 2 +- ios/fastlane/ScanFile | 2 +- 3 files changed, 11 insertions(+), 17 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 3e60ef6e..ef089959 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -19,8 +19,17 @@ jobs: with: xcode-version: latest-stable + - name: Install dependencies + run: npm install -g yarn + + - name: Install dependencies + run: yarn install + - name: Install CocoaPods run: sudo gem install cocoapods -v '1.14.3' + + - name: Install iOS pods + run: cd ios && pod install - name: Setup Ruby uses: ruby/setup-ruby@v1 @@ -34,21 +43,6 @@ jobs: run: | echo "${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENTS }}" > ./ios/AuthKey.p8 chmod 600 ./ios/AuthKey.p8 - - - name: Install dependencies - run: npm install -g yarn - - name: Install dependencies - run: yarn install - - - name: Swift Packages Cache - uses: actions/cache@v2 - id: cache - with: - path: | - Build/SourcePackages - Build/Build/Products - key: ${{ runner.os }}-deps-v1-${{ hashFiles('BILDsolid.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved') }} - restore-keys: ${{ runner.os }}-deps-v1- - name: Install Fastlane run: cd ios && fastlane beta diff --git a/ios/fastlane/Matchfile b/ios/fastlane/Matchfile index dc631071..cf2eb026 100644 --- a/ios/fastlane/Matchfile +++ b/ios/fastlane/Matchfile @@ -4,7 +4,7 @@ storage_mode("git") type("development") # The default type, can be: appstore, adhoc, enterprise or development -app_identifier(["io.fleetbase.navigator"]) +app_identifier(ENV("IOS_IDENTIFIER")) username(ENV("APPLE_ID")) # Your Apple Developer Portal username diff --git a/ios/fastlane/ScanFile b/ios/fastlane/ScanFile index b58afe2b..fa44de40 100644 --- a/ios/fastlane/ScanFile +++ b/ios/fastlane/ScanFile @@ -1,7 +1,7 @@ # For more information about this configuration visit # https://github.com/fastlane/scan#scanfile -workspace " NavigatorApp.xcworkspace/NavigatorApp" +workspace "NavigatorApp.xcworkspace/NavigatorApp" scheme "AnyApp" sdk "iphonesimulator" device "iPhone 11" From 4b9c4b3abbf523d8019dff1b5ad7197956389add Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 11:44:08 +0800 Subject: [PATCH 111/167] update --- ios/Podfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/Podfile b/ios/Podfile index b008ba9c..96a8bfdc 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -34,7 +34,7 @@ target 'NavigatorApp' do use_react_native!( :path => config[:reactNativePath], # Hermes is now enabled by default. Disable by setting this flag to false. - :hermes_enabled => flags[:hermes_enabled], + :hermes_enabled => true, :fabric_enabled => flags[:fabric_enabled], # Enables Flipper. # From b9bafb85bf9177e26796ff70b8120e27d3007baa Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 11:52:58 +0800 Subject: [PATCH 112/167] changed --- .github/workflows/keystore.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index ef089959..3f3e5a61 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -28,6 +28,9 @@ jobs: - name: Install CocoaPods run: sudo gem install cocoapods -v '1.14.3' + - name: Cache clean + run: cd ios && pod cache clean --all + - name: Install iOS pods run: cd ios && pod install From 3098f74c8361a6a8da5e56ef76e012b016cf7776 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 12:18:50 +0800 Subject: [PATCH 113/167] fix --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 3f3e5a61..82896acb 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -26,7 +26,7 @@ jobs: run: yarn install - name: Install CocoaPods - run: sudo gem install cocoapods -v '1.14.3' + run: sudo gem install cocoapods -v '1.15.0' - name: Cache clean run: cd ios && pod cache clean --all From 3755193f2acd76327b8d9f3a27329fc32cb30edf Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 12:26:27 +0800 Subject: [PATCH 114/167] fix --- .github/workflows/keystore.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 82896acb..11c53d18 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -26,10 +26,7 @@ jobs: run: yarn install - name: Install CocoaPods - run: sudo gem install cocoapods -v '1.15.0' - - - name: Cache clean - run: cd ios && pod cache clean --all + run: sudo gem install cocoapods - name: Install iOS pods run: cd ios && pod install From 5889b49460e7d7e9a91d7312b548abaeeba71ffa Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 12:55:47 +0800 Subject: [PATCH 115/167] changed slash --- ios/fastlane/Appfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ios/fastlane/Appfile b/ios/fastlane/Appfile index dd160c1b..eb85a555 100644 --- a/ios/fastlane/Appfile +++ b/ios/fastlane/Appfile @@ -1,8 +1,8 @@ -app_identifier(ENV("IOS_IDENTIFIER")) # The bundle identifier of your app -apple_id(ENV("APPLE_ID")) # Your Apple Developer Portal username +app_identifier ENV["IOS_IDENTIFIER"] # The bundle identifier of your app +apple_id ENV["APPLE_ID"] # Your Apple Developer Portal username -itc_team_id(ENV("TEAM_ID")) # App Store Connect Team ID -team_id(ENV("DEVELOPER_ID")) # Developer Portal Team ID +itc_team_id ENV["TEAM_ID"] # App Store Connect Team ID +team_id ENV["DEVELOPER_ID"] # Developer Portal Team ID From c8104c2fc923ce303f972ca0b18b878685716cca Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 13:21:46 +0800 Subject: [PATCH 116/167] update --- .github/workflows/keystore.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 11c53d18..07a374fe 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -44,5 +44,12 @@ jobs: echo "${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENTS }}" > ./ios/AuthKey.p8 chmod 600 ./ios/AuthKey.p8 + - name: Build and Archive + run: | + set -o pipefail && xcodebuild -workspace NavigatorApp.xcworkspace -scheme NavigatorApp -destination 'generic/platform=iOS' -archivePath /Users/runner/Library/Developer/Xcode/Archives/2024-02-16/NavigatorApp\ 2024-02-16\ 05.08.48.xcarchive -allowProvisioningUpdates archive | tee /Users/runner/Library/Logs/gym/NavigatorApp-NavigatorApp.log | xcbeautify + env: + DEVELOPER_ACCOUNT: ${{ secrets.APPLE_ID }} + BUNDLE_IDENTIFIER: ${{ secrets.IOS_IDENTIFIER }} + - name: Install Fastlane - run: cd ios && fastlane beta + run: cd ios && fastlane beta \ No newline at end of file From a8f572b43dd36c1f62b94b0128f9991a1c920fc2 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 13:48:06 +0800 Subject: [PATCH 117/167] changed --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 07a374fe..4b785ace 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -46,7 +46,7 @@ jobs: - name: Build and Archive run: | - set -o pipefail && xcodebuild -workspace NavigatorApp.xcworkspace -scheme NavigatorApp -destination 'generic/platform=iOS' -archivePath /Users/runner/Library/Developer/Xcode/Archives/2024-02-16/NavigatorApp\ 2024-02-16\ 05.08.48.xcarchive -allowProvisioningUpdates archive | tee /Users/runner/Library/Logs/gym/NavigatorApp-NavigatorApp.log | xcbeautify + set -o pipefail && xcodebuild -workspace ios/NavigatorApp.xcworkspace -scheme NavigatorApp -destination 'generic/platform=iOS' -archivePath /Users/runner/Library/Developer/Xcode/Archives/2024-02-16/NavigatorApp\ 2024-02-16\ 05.08.48.xcarchive -allowProvisioningUpdates archive env: DEVELOPER_ACCOUNT: ${{ secrets.APPLE_ID }} BUNDLE_IDENTIFIER: ${{ secrets.IOS_IDENTIFIER }} From 038ac8bf4602e72e07fb71e3f3c5d9870bbe7794 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 14:07:46 +0800 Subject: [PATCH 118/167] fix --- ios/NavigatorApp.xcodeproj/project.pbxproj | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ios/NavigatorApp.xcodeproj/project.pbxproj b/ios/NavigatorApp.xcodeproj/project.pbxproj index 65604cda..e2511ac3 100644 --- a/ios/NavigatorApp.xcodeproj/project.pbxproj +++ b/ios/NavigatorApp.xcodeproj/project.pbxproj @@ -512,8 +512,10 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = NavigatorApp/NavigatorApp.entitlements; + CODE_SIGN_STYLE = Manual; CURRENT_PROJECT_VERSION = 10; - DEVELOPMENT_TEAM = 27ZYTHPKKU; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = W4M54N7H85; ENABLE_BITCODE = NO; HEADER_SEARCH_PATHS = "$(inherited)"; INFOPLIST_FILE = NavigatorApp/Info.plist; @@ -531,6 +533,8 @@ ); PRODUCT_BUNDLE_IDENTIFIER = io.fleetbase.navigator; PRODUCT_NAME = NavigatorApp; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match Development io.fleetbase.navigator"; SWIFT_OBJC_BRIDGING_HEADER = "NavigatorApp-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -548,7 +552,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 10; - DEVELOPMENT_TEAM = 27ZYTHPKKU; + DEVELOPMENT_TEAM = W4M54N7H85; HEADER_SEARCH_PATHS = "$(inherited)"; INFOPLIST_FILE = NavigatorApp/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = Navigator; From b6c98846c5ab53a4796ed0e7d9d9321dfe1d6367 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 14:16:01 +0800 Subject: [PATCH 119/167] removed --- .github/workflows/keystore.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 4b785ace..dd103ee6 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -44,12 +44,5 @@ jobs: echo "${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENTS }}" > ./ios/AuthKey.p8 chmod 600 ./ios/AuthKey.p8 - - name: Build and Archive - run: | - set -o pipefail && xcodebuild -workspace ios/NavigatorApp.xcworkspace -scheme NavigatorApp -destination 'generic/platform=iOS' -archivePath /Users/runner/Library/Developer/Xcode/Archives/2024-02-16/NavigatorApp\ 2024-02-16\ 05.08.48.xcarchive -allowProvisioningUpdates archive - env: - DEVELOPER_ACCOUNT: ${{ secrets.APPLE_ID }} - BUNDLE_IDENTIFIER: ${{ secrets.IOS_IDENTIFIER }} - - name: Install Fastlane run: cd ios && fastlane beta \ No newline at end of file From 10337cc2658f556c9ec3d3c310b5c6486cee286b Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 14:53:11 +0800 Subject: [PATCH 120/167] added provision profile --- .github/workflows/keystore.yml | 10 ++++++++-- ios/fastlane/Fastfile | 3 +-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index dd103ee6..c1aa5c05 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -5,9 +5,10 @@ on: branches: [ main ] # Trigger for PRs to main branch env: - MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} + MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} + IOS_PROVISION: ${{ secrets.IOS_PROVISION }} + ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} - jobs: ios_build: runs-on: macOS-latest @@ -36,6 +37,11 @@ jobs: with: ruby-version: '2.7.4' + - name: Install Apple Provisioning Profile + run: | + echo "$IOS_PROVISION" > profile.mobileprovision.asc + gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch profile.mobileprovision.asc > ios/profile.mobileprovision + - name: Setup Fastlane run: cd ios && bundle install diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index 8f512dac..dd2d8677 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -24,8 +24,7 @@ platform :ios do key_id: ENV['APPLE_KEY_ID'], issuer_id: ENV['ISSUER_ID'], key_filepath: "./ios/AuthKey.p8" - }) - + }, provisioning_profile: 'ios/profile.mobileprovision') slack(message: "Successfully distributed a new beta build") end From 80e6b24533d5cf7a946d84ddf4146f564d7bc1a1 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 15:49:04 +0800 Subject: [PATCH 121/167] changed commands --- .github/workflows/keystore.yml | 34 +++++-- ios/fastlane/Fastfile | 169 +++++++++++++++++++++++++++------ package.json | 1 + 3 files changed, 170 insertions(+), 34 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index c1aa5c05..215ccb32 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -26,11 +26,18 @@ jobs: - name: Install dependencies run: yarn install + - name: Cache CocoaPods + uses: actions/cache@v2 + with: + path: ~/.cocoapods + key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} + restore-keys: | + ${{ runner.os }}-pods- + - name: Install CocoaPods - run: sudo gem install cocoapods - - - name: Install iOS pods - run: cd ios && pod install + run: | + gem install cocoapods + cd ios && pod install --repo-update - name: Setup Ruby uses: ruby/setup-ruby@v1 @@ -49,6 +56,19 @@ jobs: run: | echo "${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENTS }}" > ./ios/AuthKey.p8 chmod 600 ./ios/AuthKey.p8 - - - name: Install Fastlane - run: cd ios && fastlane beta \ No newline at end of file + - name: Build and ship + run: | + yarn ios:buildAndShip + env: + APP_IDENTIFIER: ${{ secrets.IOS_IDENTIFIER }} + APPLE_ID: ${{ secrets.APPLE_ID }} + APPLE_APP_ID: ${{ secrets.APPLE_ID }} + APPLE_TEAM_ID: ${{ secrets.TEAM_ID }} + URL_TO_FASTLANE_CERTIFICATES_REPO: "https://github.com/fleetbase/navigator-app" + MATCH_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} + FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} + CI: true + CI_KEYCHAIN_NAME: "CI_KEYCHAIN" + CI_KEYCHAIN_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} + GIT_BRANCH_NAME: ${{ github.ref }} + GITHUB_TOKEN: ${{ secrets._GITHUB_AUTH_TOKEN }} \ No newline at end of file diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index dd2d8677..03f7c338 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -1,31 +1,146 @@ -# This file contains the fastlane.tools configuration -# You can find the documentation at https://docs.fastlane.tools -# -# For a list of all available actions, check out -# -# https://docs.fastlane.tools/actions -# -# For a list of all available plugins, check out -# -# https://docs.fastlane.tools/plugins/available-plugins -# - -# Uncomment the line if you want fastlane to automatically update itself -# update_fastlane - -default_platform(:ios) +opt_out_usage + +# Global variables to simplify the individual adjustment +PROJECT_NAME = "MyAwesomeProject" +XCODE_PROJECT = "./ios/#{PROJECT_NAME}.xcodeproj" +XCODE_WORKSPACE = "./ios/#{PROJECT_NAME}.xcworkspace" +OUTPUT_DIRECTORY = "./fastlane/builds/" +BUILD_FOR_DEVELOPMENT_ONLY = false # true = Build for Development | false = Build to create a release +BUILD_ONLY = false platform :ios do - desc "Push a new beta build to TestFlight" - lane :beta do - increment_build_number(xcodeproj: "NavigatorApp.xcodeproj") - build_app(workspace: "NavigatorApp.xcworkspace", scheme: "NavigatorApp",xcargs: "-allowProvisioningUpdates") - upload_to_testflight(api_key: { - key_id: ENV['APPLE_KEY_ID'], - issuer_id: ENV['ISSUER_ID'], - key_filepath: "./ios/AuthKey.p8" - }, provisioning_profile: 'ios/profile.mobileprovision') - - slack(message: "Successfully distributed a new beta build") + before_all do + ensure_git_status_clean + end + + private_lane :pushChangesBack do | options | + if options[:running_on_ci] + repository_uri = sh("git remote show origin | awk 'NR==2{print $3}' | sed 's/git@//g' | sed 's#https://##g'", log: false) + push_uri = "https://x-access-token:#{options[:token]}@#{repository_uri.chomp}.git" + branches = "HEAD:#{options[:git_branch_name]}" + + sh("git push #{push_uri} #{branches} --tags", log: false) + else + push_to_git_remote + end + + end + + private_lane :certificates do | options | + match_type = options[:match_type] + + if options[:ci] + create_keychain( + name: ENV["CI_KEYCHAIN_NAME"], + password: ENV["CI_KEYCHAIN_PASSWORD"], + default_keychain: true, + unlock: true, + timeout: 3600, + lock_when_sleeps: false + ) + match( + type: match_type, + keychain_name: ENV["CI_KEYCHAIN_NAME"], + keychain_password: ENV["CI_KEYCHAIN_PASSWORD"], + readonly: true, + shallow_clone: true, + verbose: false, + clone_branch_directly: true, + ) + else + match( + type: match_type, + readonly: true, + shallow_clone: true, + verbose: false, + clone_branch_directly: true, + ) + end + + end + + private_lane :build do | options | + build_for_development_only = options[:build_for_development_only] + configuration_name = build_for_development_only ? "Development" : "Release" + export_options_method = build_for_development_only ? "development" : "app-store" + match_type = build_for_development_only ? "development" : "appstore" + + certificates( + ci: options[:running_on_ci], + match_type: match_type, + ) + + cocoapods( + repo_update: true, + podfile: "./ios/Podfile" + ) + + gym( + scheme: PROJECT_NAME, + workspace: XCODE_WORKSPACE, + silent: true, + clean: true, + configuration: configuration_name, + output_directory: OUTPUT_DIRECTORY, + output_name: "#{PROJECT_NAME}.ipa", + export_options: { + method: export_options_method, + provisioningProfiles: { + options[:app_identifier] => ENV["sigh_#{options[:app_identifier]}_#{match_type}_profile-name"], + } + }, + ) + + match_type + end + + private_lane :ship do | options | + pilot( + ipa: "#{OUTPUT_DIRECTORY}#{PROJECT_NAME}.ipa", + skip_waiting_for_build_processing: true, + verbose: false, + uses_non_exempt_encryption: true, + notify_external_testers: false, + username: options[:apple_id], + team_id: options[:apple_team_id], + apple_id: options[:apple_app_id], + itc_provider: ENV["sigh_#{options[:app_identifier]}_#{options[:match_type]}_team-id"], + ) + end + + lane :buildAndShip do + running_on_ci = ENV["CI"] || false + options = { + :build_for_development_only => BUILD_FOR_DEVELOPMENT_ONLY, + :running_on_ci => running_on_ci, + :git_branch_name => running_on_ci ? "#{ENV['GIT_BRANCH_NAME']}" : sh("git", "rev-parse", "--abbrev-ref", "HEAD", log: false), + :app_identifier => ENV["IOS_IDENTIFIER"], + :apple_id => ENV["APPLE_ID"], + :apple_team_id => ENV["APPLE_TEAM_ID"], + :apple_app_id => ENV["APPLE_APP_ID"], + :token => ENV["GITHUB_TOKEN"], + } + + increment_build_number( + xcodeproj: XCODE_PROJECT, + ) + + match_type = build(options) + + commit_version_bump( + xcodeproj: XCODE_PROJECT, + include: ["ios/Podfile.lock"], + ) + + pushChangesBack(options) + + unless BUILD_ONLY + ship( + apple_id: options[:apple_id], + apple_team_id: options[:apple_team_id], + apple_app_id: options[:apple_app_id], + match_type: match_type, + ) + end end end \ No newline at end of file diff --git a/package.json b/package.json index 086a9c83..2ca7a5c1 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "jetify": "npx jetify", "test": "jest", "postinstall": "patch-package", + "ios:buildAndShip": "fastlane ios buildAndShip", "lint": "eslint .", "generate-app-icon": "npx app-icon generate -i ./assets/app-icon.png", "generate-launch-screen": "npx react-native generate-bootsplash ./assets/splash-screen.png --background-color=#111827 --logo-width=100 --flavor=main" From 8e8e2faac6fc64eb6201e009d02c3ed24e678c4b Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 16:12:27 +0800 Subject: [PATCH 122/167] fixed match env --- .github/workflows/keystore.yml | 1 + .gitignore | 2 ++ ios/fastlane/Matchfile | 6 +++--- package.json | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 215ccb32..e68c4d8c 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -56,6 +56,7 @@ jobs: run: | echo "${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENTS }}" > ./ios/AuthKey.p8 chmod 600 ./ios/AuthKey.p8 + - name: Build and ship run: | yarn ios:buildAndShip diff --git a/.gitignore b/.gitignore index ace3c577..cf48ff0d 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,8 @@ DerivedData *.ipa *.xcuserstate ios/.xcode.env.local +*. +*.mobileprovision.asc # Android/IntelliJ # diff --git a/ios/fastlane/Matchfile b/ios/fastlane/Matchfile index cf2eb026..9f707394 100644 --- a/ios/fastlane/Matchfile +++ b/ios/fastlane/Matchfile @@ -1,11 +1,11 @@ -git_url("https://github.com/fleetbase/navigator-app") +git_url("https://github.com/fleetbase/fastlane-config") storage_mode("git") type("development") # The default type, can be: appstore, adhoc, enterprise or development -app_identifier(ENV("IOS_IDENTIFIER")) -username(ENV("APPLE_ID")) # Your Apple Developer Portal username +app_identifier ENV["IOS_IDENTIFIER"] +username ENV["APPLE_ID"] # Your Apple Developer Portal username # For all available options run `fastlane match --help` diff --git a/package.json b/package.json index 2ca7a5c1..48717224 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "jetify": "npx jetify", "test": "jest", "postinstall": "patch-package", - "ios:buildAndShip": "fastlane ios buildAndShip", + "ios:buildAndShip": "cd ios && fastlane ios buildAndShip", "lint": "eslint .", "generate-app-icon": "npx app-icon generate -i ./assets/app-icon.png", "generate-launch-screen": "npx react-native generate-bootsplash ./assets/splash-screen.png --background-color=#111827 --logo-width=100 --flavor=main" From caab0158d58fa18ba09e134e2792df7ff499d9ed Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 16:13:52 +0800 Subject: [PATCH 123/167] fixed project name --- ios/fastlane/Fastfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index 03f7c338..ea43d2b5 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -1,7 +1,7 @@ opt_out_usage # Global variables to simplify the individual adjustment -PROJECT_NAME = "MyAwesomeProject" +PROJECT_NAME = "NavigatorApp" XCODE_PROJECT = "./ios/#{PROJECT_NAME}.xcodeproj" XCODE_WORKSPACE = "./ios/#{PROJECT_NAME}.xcworkspace" OUTPUT_DIRECTORY = "./fastlane/builds/" From de3fa0d3e7a180fcfc78dd2d573646a22e31223b Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 16:16:13 +0800 Subject: [PATCH 124/167] removed increment build number --- ios/fastlane/Fastfile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index ea43d2b5..2b93e897 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -121,10 +121,6 @@ platform :ios do :token => ENV["GITHUB_TOKEN"], } - increment_build_number( - xcodeproj: XCODE_PROJECT, - ) - match_type = build(options) commit_version_bump( From 638185a13551c0d70706fbc8547bcc249d9da92b Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 16:16:28 +0800 Subject: [PATCH 125/167] updated readme --- ios/fastlane/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ios/fastlane/README.md b/ios/fastlane/README.md index 891747df..af46a891 100644 --- a/ios/fastlane/README.md +++ b/ios/fastlane/README.md @@ -15,13 +15,13 @@ For _fastlane_ installation instructions, see [Installing _fastlane_](https://do ## iOS -### ios beta +### ios buildAndShip ```sh -[bundle exec] fastlane ios beta +[bundle exec] fastlane ios buildAndShip ``` -Push a new beta build to TestFlight + ---- From db7921e1bbc452fc4453b5c9788326b3d579105f Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 16:21:58 +0800 Subject: [PATCH 126/167] update --- ios/fastlane/Fastfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index 2b93e897..e6c49c29 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -113,7 +113,7 @@ platform :ios do options = { :build_for_development_only => BUILD_FOR_DEVELOPMENT_ONLY, :running_on_ci => running_on_ci, - :git_branch_name => running_on_ci ? "#{ENV['GIT_BRANCH_NAME']}" : sh("git", "rev-parse", "--abbrev-ref", "HEAD", log: false), + :git_branch_name => running_on_ci ? "#{ENV['GIT_BRANCH_NAME']}" : 'main', :app_identifier => ENV["IOS_IDENTIFIER"], :apple_id => ENV["APPLE_ID"], :apple_team_id => ENV["APPLE_TEAM_ID"], From 3beec09ba8fa3e5497209a9123d8dc9ce8eb3afb Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 16:22:23 +0800 Subject: [PATCH 127/167] update --- ios/fastlane/Fastfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index e6c49c29..29661296 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -113,7 +113,7 @@ platform :ios do options = { :build_for_development_only => BUILD_FOR_DEVELOPMENT_ONLY, :running_on_ci => running_on_ci, - :git_branch_name => running_on_ci ? "#{ENV['GIT_BRANCH_NAME']}" : 'main', + :git_branch_name => 'main', :app_identifier => ENV["IOS_IDENTIFIER"], :apple_id => ENV["APPLE_ID"], :apple_team_id => ENV["APPLE_TEAM_ID"], From e8a17b828ca8060056a0458628c6d6a724f814c9 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 16:31:53 +0800 Subject: [PATCH 128/167] added new lane --- ios/fastlane/Fastfile | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index 29661296..ceb0a75d 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -108,6 +108,19 @@ platform :ios do ) end + desc "Generate new certificates" + lane :generate_new_certificates do + sync_code_signing( + type: "development", + app_identifier: ['io.fleetbase.navigator'], + force_for_new_devices: true, + readonly: false + ) + + # You can repeate the sync_code_signing with other types of certificates such as appstore and adhoc + + end + lane :buildAndShip do running_on_ci = ENV["CI"] || false options = { From 42ca350d1d9677366b45c2f1e300ad25e0962899 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 16:35:13 +0800 Subject: [PATCH 129/167] update --- ios/fastlane/Fastfile | 14 +++++++++----- ios/fastlane/README.md | 8 ++++++++ 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index ceb0a75d..c699a911 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -108,17 +108,21 @@ platform :ios do ) end - desc "Generate new certificates" - lane :generate_new_certificates do + desc "Get certificates" + lane :certificates do sync_code_signing( type: "development", app_identifier: ['io.fleetbase.navigator'], force_for_new_devices: true, - readonly: false + readonly: true ) - - # You can repeate the sync_code_signing with other types of certificates such as appstore and adhoc + # You can repeate the sync_code_signing with other types of certificates such as appstore and adhoc + sync_code_signing( + type: "appstore", + app_identifier: 'io.fleetbase.navigator', + readonly: true + ) end lane :buildAndShip do diff --git a/ios/fastlane/README.md b/ios/fastlane/README.md index af46a891..a917e342 100644 --- a/ios/fastlane/README.md +++ b/ios/fastlane/README.md @@ -15,6 +15,14 @@ For _fastlane_ installation instructions, see [Installing _fastlane_](https://do ## iOS +### ios generate_new_certificates + +```sh +[bundle exec] fastlane ios generate_new_certificates +``` + +Generate new certificates + ### ios buildAndShip ```sh From f207cabebba6bbd14aa7fc719aeb30b3a08e5109 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 16:35:52 +0800 Subject: [PATCH 130/167] update --- ios/fastlane/Fastfile | 64 +++++++++++++++++++++--------------------- ios/fastlane/README.md | 6 ++-- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index c699a911..ff467c01 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -26,38 +26,38 @@ platform :ios do end - private_lane :certificates do | options | - match_type = options[:match_type] - - if options[:ci] - create_keychain( - name: ENV["CI_KEYCHAIN_NAME"], - password: ENV["CI_KEYCHAIN_PASSWORD"], - default_keychain: true, - unlock: true, - timeout: 3600, - lock_when_sleeps: false - ) - match( - type: match_type, - keychain_name: ENV["CI_KEYCHAIN_NAME"], - keychain_password: ENV["CI_KEYCHAIN_PASSWORD"], - readonly: true, - shallow_clone: true, - verbose: false, - clone_branch_directly: true, - ) - else - match( - type: match_type, - readonly: true, - shallow_clone: true, - verbose: false, - clone_branch_directly: true, - ) - end - - end + # private_lane :certificates do | options | + # match_type = options[:match_type] + + # if options[:ci] + # create_keychain( + # name: ENV["CI_KEYCHAIN_NAME"], + # password: ENV["CI_KEYCHAIN_PASSWORD"], + # default_keychain: true, + # unlock: true, + # timeout: 3600, + # lock_when_sleeps: false + # ) + # match( + # type: match_type, + # keychain_name: ENV["CI_KEYCHAIN_NAME"], + # keychain_password: ENV["CI_KEYCHAIN_PASSWORD"], + # readonly: true, + # shallow_clone: true, + # verbose: false, + # clone_branch_directly: true, + # ) + # else + # match( + # type: match_type, + # readonly: true, + # shallow_clone: true, + # verbose: false, + # clone_branch_directly: true, + # ) + # end + + # end private_lane :build do | options | build_for_development_only = options[:build_for_development_only] diff --git a/ios/fastlane/README.md b/ios/fastlane/README.md index a917e342..21fe8780 100644 --- a/ios/fastlane/README.md +++ b/ios/fastlane/README.md @@ -15,13 +15,13 @@ For _fastlane_ installation instructions, see [Installing _fastlane_](https://do ## iOS -### ios generate_new_certificates +### ios certificates ```sh -[bundle exec] fastlane ios generate_new_certificates +[bundle exec] fastlane ios certificates ``` -Generate new certificates +Get certificates ### ios buildAndShip From 48e98ba1e7944b10fb9fb0b045011ed2f522e9a8 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 16:44:21 +0800 Subject: [PATCH 131/167] removed updates --- .github/workflows/keystore.yml | 44 ++------ ios/fastlane/Fastfile | 180 +++++---------------------------- ios/fastlane/Matchfile | 2 +- package.json | 1 - 4 files changed, 37 insertions(+), 190 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index e68c4d8c..60d96ed8 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -5,10 +5,9 @@ on: branches: [ main ] # Trigger for PRs to main branch env: - MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} - IOS_PROVISION: ${{ secrets.IOS_PROVISION }} - ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} + MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} + jobs: ios_build: runs-on: macOS-latest @@ -26,18 +25,11 @@ jobs: - name: Install dependencies run: yarn install - - name: Cache CocoaPods - uses: actions/cache@v2 - with: - path: ~/.cocoapods - key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} - restore-keys: | - ${{ runner.os }}-pods- - - name: Install CocoaPods - run: | - gem install cocoapods - cd ios && pod install --repo-update + run: sudo gem install cocoapods + + - name: Install iOS pods + run: cd ios && pod install - name: Setup Ruby uses: ruby/setup-ruby@v1 @@ -46,8 +38,8 @@ jobs: - name: Install Apple Provisioning Profile run: | - echo "$IOS_PROVISION" > profile.mobileprovision.asc - gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch profile.mobileprovision.asc > ios/profile.mobileprovision + mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles + cp ./path/to/your/profile.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/ - name: Setup Fastlane run: cd ios && bundle install @@ -56,20 +48,6 @@ jobs: run: | echo "${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENTS }}" > ./ios/AuthKey.p8 chmod 600 ./ios/AuthKey.p8 - - - name: Build and ship - run: | - yarn ios:buildAndShip - env: - APP_IDENTIFIER: ${{ secrets.IOS_IDENTIFIER }} - APPLE_ID: ${{ secrets.APPLE_ID }} - APPLE_APP_ID: ${{ secrets.APPLE_ID }} - APPLE_TEAM_ID: ${{ secrets.TEAM_ID }} - URL_TO_FASTLANE_CERTIFICATES_REPO: "https://github.com/fleetbase/navigator-app" - MATCH_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} - FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} - CI: true - CI_KEYCHAIN_NAME: "CI_KEYCHAIN" - CI_KEYCHAIN_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} - GIT_BRANCH_NAME: ${{ github.ref }} - GITHUB_TOKEN: ${{ secrets._GITHUB_AUTH_TOKEN }} \ No newline at end of file + + - name: Install Fastlane + run: cd ios && fastlane beta \ No newline at end of file diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index ff467c01..9bc7c0ce 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -1,159 +1,29 @@ -opt_out_usage - -# Global variables to simplify the individual adjustment -PROJECT_NAME = "NavigatorApp" -XCODE_PROJECT = "./ios/#{PROJECT_NAME}.xcodeproj" -XCODE_WORKSPACE = "./ios/#{PROJECT_NAME}.xcworkspace" -OUTPUT_DIRECTORY = "./fastlane/builds/" -BUILD_FOR_DEVELOPMENT_ONLY = false # true = Build for Development | false = Build to create a release -BUILD_ONLY = false +# This file contains the fastlane.tools configuration +# You can find the documentation at https://docs.fastlane.tools +# +# For a list of all available actions, check out +# +# https://docs.fastlane.tools/actions +# +# For a list of all available plugins, check out +# +# https://docs.fastlane.tools/plugins/available-plugins +# + +# Uncomment the line if you want fastlane to automatically update itself +# update_fastlane +default_platform(:ios) platform :ios do - before_all do - ensure_git_status_clean - end - - private_lane :pushChangesBack do | options | - if options[:running_on_ci] - repository_uri = sh("git remote show origin | awk 'NR==2{print $3}' | sed 's/git@//g' | sed 's#https://##g'", log: false) - push_uri = "https://x-access-token:#{options[:token]}@#{repository_uri.chomp}.git" - branches = "HEAD:#{options[:git_branch_name]}" - - sh("git push #{push_uri} #{branches} --tags", log: false) - else - push_to_git_remote - end - - end - - # private_lane :certificates do | options | - # match_type = options[:match_type] - - # if options[:ci] - # create_keychain( - # name: ENV["CI_KEYCHAIN_NAME"], - # password: ENV["CI_KEYCHAIN_PASSWORD"], - # default_keychain: true, - # unlock: true, - # timeout: 3600, - # lock_when_sleeps: false - # ) - # match( - # type: match_type, - # keychain_name: ENV["CI_KEYCHAIN_NAME"], - # keychain_password: ENV["CI_KEYCHAIN_PASSWORD"], - # readonly: true, - # shallow_clone: true, - # verbose: false, - # clone_branch_directly: true, - # ) - # else - # match( - # type: match_type, - # readonly: true, - # shallow_clone: true, - # verbose: false, - # clone_branch_directly: true, - # ) - # end - - # end - - private_lane :build do | options | - build_for_development_only = options[:build_for_development_only] - configuration_name = build_for_development_only ? "Development" : "Release" - export_options_method = build_for_development_only ? "development" : "app-store" - match_type = build_for_development_only ? "development" : "appstore" - - certificates( - ci: options[:running_on_ci], - match_type: match_type, - ) - - cocoapods( - repo_update: true, - podfile: "./ios/Podfile" - ) - - gym( - scheme: PROJECT_NAME, - workspace: XCODE_WORKSPACE, - silent: true, - clean: true, - configuration: configuration_name, - output_directory: OUTPUT_DIRECTORY, - output_name: "#{PROJECT_NAME}.ipa", - export_options: { - method: export_options_method, - provisioningProfiles: { - options[:app_identifier] => ENV["sigh_#{options[:app_identifier]}_#{match_type}_profile-name"], - } - }, - ) - - match_type - end - - private_lane :ship do | options | - pilot( - ipa: "#{OUTPUT_DIRECTORY}#{PROJECT_NAME}.ipa", - skip_waiting_for_build_processing: true, - verbose: false, - uses_non_exempt_encryption: true, - notify_external_testers: false, - username: options[:apple_id], - team_id: options[:apple_team_id], - apple_id: options[:apple_app_id], - itc_provider: ENV["sigh_#{options[:app_identifier]}_#{options[:match_type]}_team-id"], - ) - end - - desc "Get certificates" - lane :certificates do - sync_code_signing( - type: "development", - app_identifier: ['io.fleetbase.navigator'], - force_for_new_devices: true, - readonly: true - ) - - # You can repeate the sync_code_signing with other types of certificates such as appstore and adhoc - sync_code_signing( - type: "appstore", - app_identifier: 'io.fleetbase.navigator', - readonly: true - ) - end - - lane :buildAndShip do - running_on_ci = ENV["CI"] || false - options = { - :build_for_development_only => BUILD_FOR_DEVELOPMENT_ONLY, - :running_on_ci => running_on_ci, - :git_branch_name => 'main', - :app_identifier => ENV["IOS_IDENTIFIER"], - :apple_id => ENV["APPLE_ID"], - :apple_team_id => ENV["APPLE_TEAM_ID"], - :apple_app_id => ENV["APPLE_APP_ID"], - :token => ENV["GITHUB_TOKEN"], - } - - match_type = build(options) - - commit_version_bump( - xcodeproj: XCODE_PROJECT, - include: ["ios/Podfile.lock"], - ) - - pushChangesBack(options) - - unless BUILD_ONLY - ship( - apple_id: options[:apple_id], - apple_team_id: options[:apple_team_id], - apple_app_id: options[:apple_app_id], - match_type: match_type, - ) - end + desc "Push a new beta build to TestFlight" + lane :beta do + increment_build_number(xcodeproj: "NavigatorApp.xcodeproj") + build_app(workspace: "NavigatorApp.xcworkspace", scheme: "NavigatorApp",xcargs: "-allowProvisioningUpdates") + upload_to_testflight(api_key: { + key_id: ENV['APPLE_KEY_ID'], + issuer_id: ENV['ISSUER_ID'], + key_filepath: "./ios/AuthKey.p8" + }, provisioning_profile: 'ios/profile.mobileprovision') + slack(message: "Successfully distributed a new beta build") end end \ No newline at end of file diff --git a/ios/fastlane/Matchfile b/ios/fastlane/Matchfile index 9f707394..1474d2b7 100644 --- a/ios/fastlane/Matchfile +++ b/ios/fastlane/Matchfile @@ -1,4 +1,4 @@ -git_url("https://github.com/fleetbase/fastlane-config") +git_url("https://github.com/fleetbase/navigator-app") storage_mode("git") diff --git a/package.json b/package.json index 48717224..086a9c83 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,6 @@ "jetify": "npx jetify", "test": "jest", "postinstall": "patch-package", - "ios:buildAndShip": "cd ios && fastlane ios buildAndShip", "lint": "eslint .", "generate-app-icon": "npx app-icon generate -i ./assets/app-icon.png", "generate-launch-screen": "npx react-native generate-bootsplash ./assets/splash-screen.png --background-color=#111827 --logo-width=100 --flavor=main" From 6e81067bb204204c70ccf789558331016cff8742 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 17:07:49 +0800 Subject: [PATCH 132/167] Install the Apple certificate and provisioning profile --- .github/workflows/keystore.yml | 28 ++++++++++++++++++++++++++-- ios/fastlane/Fastfile | 2 +- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 60d96ed8..14954dbc 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -36,10 +36,34 @@ jobs: with: ruby-version: '2.7.4' - - name: Install Apple Provisioning Profile + - name: Install the Apple certificate and provisioning profile + env: + BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} + P12_PASSWORD: ${{ secrets.P12_PASSWORD }} + BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }} + KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} run: | + # create variables + CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12 + PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision + KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db + + # import certificate and provisioning profile from secrets + echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH + echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode -o $PP_PATH + + # create temporary keychain + security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH + security set-keychain-settings -lut 21600 $KEYCHAIN_PATH + security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH + + # import certificate to keychain + security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH + security list-keychain -d user -s $KEYCHAIN_PATH + + # apply provisioning profile mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles - cp ./path/to/your/profile.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/ + cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles - name: Setup Fastlane run: cd ios && bundle install diff --git a/ios/fastlane/Fastfile b/ios/fastlane/Fastfile index 9bc7c0ce..17cdb51c 100644 --- a/ios/fastlane/Fastfile +++ b/ios/fastlane/Fastfile @@ -23,7 +23,7 @@ platform :ios do key_id: ENV['APPLE_KEY_ID'], issuer_id: ENV['ISSUER_ID'], key_filepath: "./ios/AuthKey.p8" - }, provisioning_profile: 'ios/profile.mobileprovision') + }) slack(message: "Successfully distributed a new beta build") end end \ No newline at end of file From c96bb22b4e19c28ff43f8a9560146e7e6ea43efa Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 17:21:47 +0800 Subject: [PATCH 133/167] cache yarn deps --- .github/workflows/keystore.yml | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 14954dbc..d79a3015 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -25,11 +25,18 @@ jobs: - name: Install dependencies run: yarn install + - name: Cache CocoaPods + uses: actions/cache@v2 + with: + path: ~/.cocoapods + key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} + restore-keys: | + ${{ runner.os }}-pods- + - name: Install CocoaPods - run: sudo gem install cocoapods - - - name: Install iOS pods - run: cd ios && pod install + run: | + gem install cocoapods + pod install --repo-update - name: Setup Ruby uses: ruby/setup-ruby@v1 @@ -68,10 +75,5 @@ jobs: - name: Setup Fastlane run: cd ios && bundle install - - name: Setup App Store Connect API Key - run: | - echo "${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENTS }}" > ./ios/AuthKey.p8 - chmod 600 ./ios/AuthKey.p8 - - name: Install Fastlane run: cd ios && fastlane beta \ No newline at end of file From fc3b2a942b85eeef8c381c41bc8229d1706af0c3 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 17:35:36 +0800 Subject: [PATCH 134/167] pod fix --- .github/workflows/keystore.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index d79a3015..f63c32a3 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -34,9 +34,7 @@ jobs: ${{ runner.os }}-pods- - name: Install CocoaPods - run: | - gem install cocoapods - pod install --repo-update + run: sudo gem install cocoapods - name: Setup Ruby uses: ruby/setup-ruby@v1 From 3a543d8cf5999c2142e4032cd944c6a949fa34ef Mon Sep 17 00:00:00 2001 From: Enkhbayar Doljinsuren Date: Fri, 16 Feb 2024 18:07:32 +0800 Subject: [PATCH 135/167] Update keystore.yml --- .github/workflows/keystore.yml | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index f63c32a3..eb1c2420 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -25,17 +25,12 @@ jobs: - name: Install dependencies run: yarn install - - name: Cache CocoaPods - uses: actions/cache@v2 - with: - path: ~/.cocoapods - key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} - restore-keys: | - ${{ runner.os }}-pods- - - name: Install CocoaPods run: sudo gem install cocoapods + - name: Install Pods + run: cd ios && pod install + - name: Setup Ruby uses: ruby/setup-ruby@v1 with: @@ -74,4 +69,4 @@ jobs: run: cd ios && bundle install - name: Install Fastlane - run: cd ios && fastlane beta \ No newline at end of file + run: cd ios && fastlane beta From 7088ebb14572bcfe81228edca68c78088a4b58c5 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 18:48:10 +0800 Subject: [PATCH 136/167] removed match file --- .github/workflows/keystore.yml | 2 +- ios/fastlane/Matchfile | 14 -------------- 2 files changed, 1 insertion(+), 15 deletions(-) delete mode 100644 ios/fastlane/Matchfile diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index eb1c2420..94e0b15f 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -22,7 +22,7 @@ jobs: - name: Install dependencies run: npm install -g yarn - - name: Install dependencies + - name: Install Yarn run: yarn install - name: Install CocoaPods diff --git a/ios/fastlane/Matchfile b/ios/fastlane/Matchfile deleted file mode 100644 index 1474d2b7..00000000 --- a/ios/fastlane/Matchfile +++ /dev/null @@ -1,14 +0,0 @@ -git_url("https://github.com/fleetbase/navigator-app") - -storage_mode("git") - -type("development") # The default type, can be: appstore, adhoc, enterprise or development - -app_identifier ENV["IOS_IDENTIFIER"] -username ENV["APPLE_ID"] # Your Apple Developer Portal username - - -# For all available options run `fastlane match --help` -# Remove the # in the beginning of the line to enable the other options - -# The docs are available on https://docs.fastlane.tools/actions/match From 58eb081386322d01129a9cd197faf6e7f91b8bd4 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 19:08:23 +0800 Subject: [PATCH 137/167] test android --- .github/workflows/keystore.yml | 71 ++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 94e0b15f..189b1ebc 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -9,6 +9,77 @@ env: jobs: + android_build: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Generate google-services.json + env: + GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }} + run: | + echo "$GOOGLE_SERVICES_JSON" > google-services.json + mkdir -p android/app/src + mv google-services.json android/app/src + + - name: Install Node.js + uses: actions/setup-node@v1 + with: + node-version: 18.x + + - name: Install dependencies + run: npm install -g yarn + + - name: Install dependencies + run: yarn install + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: 'oracle' + java-version: '17' + + - name: Run Jetify + run: npx jetify + + - name: Cache Gradle Wrapper + uses: actions/cache@v2 + with: + path: ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }} + + - name: Cache Gradle Dependencies + uses: actions/cache@v2 + with: + path: ~/.gradle/caches + key: ${{ runner.os }}-gradle-caches-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }} + restore-keys: | + ${{ runner.os }}-gradle-caches- + - name: Make Gradlew Executable + run: cd android && chmod +x ./gradlew + + - name: Generate release keystore + run: | + echo "$ANDROID_RELEASE_KEYSTORE" > release.keystore.asc + gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch release.keystore.asc > android/app/release.keystore + + - name: Build Android + run: cd android && ./gradlew assembleDebug + + - name: Setup Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '2.7.4' + + - name: Setup Fastlane + working-directory: ./android + run: bundle install + + - name: Install Fastlane + working-directory: ./android + run: fastlane beta + ios_build: runs-on: macOS-latest steps: From 941afd11a26469c78d8b65bd4a10b970fd34bb90 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 19:18:59 +0800 Subject: [PATCH 138/167] test --- .github/workflows/keystore.yml | 64 +--------------------------------- 1 file changed, 1 insertion(+), 63 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 189b1ebc..e3110044 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -78,66 +78,4 @@ jobs: - name: Install Fastlane working-directory: ./android - run: fastlane beta - - ios_build: - runs-on: macOS-latest - steps: - - name: Checkout code - uses: actions/checkout@v3 - - - uses: maxim-lobanov/setup-xcode@v1 - with: - xcode-version: latest-stable - - - name: Install dependencies - run: npm install -g yarn - - - name: Install Yarn - run: yarn install - - - name: Install CocoaPods - run: sudo gem install cocoapods - - - name: Install Pods - run: cd ios && pod install - - - name: Setup Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: '2.7.4' - - - name: Install the Apple certificate and provisioning profile - env: - BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} - P12_PASSWORD: ${{ secrets.P12_PASSWORD }} - BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }} - KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} - run: | - # create variables - CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12 - PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision - KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db - - # import certificate and provisioning profile from secrets - echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH - echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode -o $PP_PATH - - # create temporary keychain - security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH - security set-keychain-settings -lut 21600 $KEYCHAIN_PATH - security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH - - # import certificate to keychain - security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH - security list-keychain -d user -s $KEYCHAIN_PATH - - # apply provisioning profile - mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles - cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles - - - name: Setup Fastlane - run: cd ios && bundle install - - - name: Install Fastlane - run: cd ios && fastlane beta + run: fastlane beta \ No newline at end of file From 4bb42eedebea446be2e5ff964ac30715867d368c Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Fri, 16 Feb 2024 19:25:06 +0800 Subject: [PATCH 139/167] update env --- .github/workflows/keystore.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index e3110044..32b50096 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -6,7 +6,9 @@ on: env: MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} - + GOOGLE_MAPS_KEY: ${{ secrets.GOOGLE_MAPS_KEY }} + ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} + ANDROID_RELEASE_KEYSTORE: ${{ secrets.ANDROID_RELEASE_KEYSTORE }} jobs: android_build: From 075bc7cb007116f7312cdf4bcb9e7323791a0209 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Sat, 17 Feb 2024 12:19:43 +0800 Subject: [PATCH 140/167] change --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 32b50096..08c29a85 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -80,4 +80,4 @@ jobs: - name: Install Fastlane working-directory: ./android - run: fastlane beta \ No newline at end of file + run: fastlane internal \ No newline at end of file From db0a6335216de59d377cf1ef41c403659a1ce0f6 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Sun, 18 Feb 2024 11:55:27 +0800 Subject: [PATCH 141/167] fix command --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 08c29a85..32b50096 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -80,4 +80,4 @@ jobs: - name: Install Fastlane working-directory: ./android - run: fastlane internal \ No newline at end of file + run: fastlane beta \ No newline at end of file From a2336f7b3714189ed157ca2ebe866401c046b8f4 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Sun, 18 Feb 2024 12:25:51 +0800 Subject: [PATCH 142/167] changed command ios --- .github/workflows/keystore.yml | 99 ++++++++++++++++------------------ 1 file changed, 45 insertions(+), 54 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 32b50096..3a210449 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -6,78 +6,69 @@ on: env: MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} - GOOGLE_MAPS_KEY: ${{ secrets.GOOGLE_MAPS_KEY }} - ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} - ANDROID_RELEASE_KEYSTORE: ${{ secrets.ANDROID_RELEASE_KEYSTORE }} + jobs: - android_build: - runs-on: ubuntu-latest + ios_build: + runs-on: macOS-latest steps: - name: Checkout code uses: actions/checkout@v3 - - - name: Generate google-services.json - env: - GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }} - run: | - echo "$GOOGLE_SERVICES_JSON" > google-services.json - mkdir -p android/app/src - mv google-services.json android/app/src - - - name: Install Node.js - uses: actions/setup-node@v1 + + - uses: maxim-lobanov/setup-xcode@v1 with: - node-version: 18.x + xcode-version: latest-stable - name: Install dependencies run: npm install -g yarn - - name: Install dependencies + - name: Install Yarn run: yarn install - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - distribution: 'oracle' - java-version: '17' - - - name: Run Jetify - run: npx jetify + - name: Install CocoaPods + run: sudo gem install cocoapods - - name: Cache Gradle Wrapper - uses: actions/cache@v2 - with: - path: ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }} + - name: Install Pods + run: cd ios && pod install - - name: Cache Gradle Dependencies - uses: actions/cache@v2 + - name: Setup Ruby + uses: ruby/setup-ruby@v1 with: - path: ~/.gradle/caches - key: ${{ runner.os }}-gradle-caches-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle-caches- - - name: Make Gradlew Executable - run: cd android && chmod +x ./gradlew + ruby-version: '2.7.4' - - name: Generate release keystore + - name: Install the Apple certificate and provisioning profile + env: + BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} + P12_PASSWORD: ${{ secrets.P12_PASSWORD }} + BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }} + KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} run: | - echo "$ANDROID_RELEASE_KEYSTORE" > release.keystore.asc - gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch release.keystore.asc > android/app/release.keystore + # create variables + CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12 + PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision + KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db - - name: Build Android - run: cd android && ./gradlew assembleDebug + # import certificate and provisioning profile from secrets + echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH + echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode -o $PP_PATH - - name: Setup Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: '2.7.4' + # create temporary keychain + security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH + security set-keychain-settings -lut 21600 $KEYCHAIN_PATH + security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH - - name: Setup Fastlane - working-directory: ./android - run: bundle install + # import certificate to keychain + security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH + security list-keychain -d user -s $KEYCHAIN_PATH - - name: Install Fastlane - working-directory: ./android - run: fastlane beta \ No newline at end of file + # apply provisioning profile + mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles + cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles + + - name: Upload to App Store Connect + run: | + xcrun altool --upload-app -f build/NavigatorApp.ipa -u $APPLE_ID -p $APPLE_PASSWORD --output-format xml + + - name: Verify upload status + run: | + xcrun altool --check-upload-status -f build/NavigatorApp.ipa -u $APPLE_ID -p $APPLE_PASSWORD --output-format xml \ No newline at end of file From eb532f5d953bc06fc3a0818c3968a0e31efdea6e Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Sun, 18 Feb 2024 12:35:03 +0800 Subject: [PATCH 143/167] changed command --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 3a210449..10960f87 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -67,7 +67,7 @@ jobs: - name: Upload to App Store Connect run: | - xcrun altool --upload-app -f build/NavigatorApp.ipa -u $APPLE_ID -p $APPLE_PASSWORD --output-format xml + xcrun altool --upload-app -f build/NavigatorApp.ipa -u $APPLE_ID -p $APPLE_PASSWORD --type ios --output-format xml - name: Verify upload status run: | From 40bb49ce0e1317037c6841ee2c4f93e2592744d6 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Sun, 18 Feb 2024 12:59:30 +0800 Subject: [PATCH 144/167] changed command --- .github/workflows/keystore.yml | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 10960f87..d5710ed7 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -65,10 +65,18 @@ jobs: mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles - - name: Upload to App Store Connect - run: | - xcrun altool --upload-app -f build/NavigatorApp.ipa -u $APPLE_ID -p $APPLE_PASSWORD --type ios --output-format xml - - - name: Verify upload status - run: | - xcrun altool --check-upload-status -f build/NavigatorApp.ipa -u $APPLE_ID -p $APPLE_PASSWORD --output-format xml \ No newline at end of file + - name: Deploy iOS Beta to TestFlight via Fastlane + uses: maierj/fastlane-action@v1.4.0 + with: + lane: closed_beta + env: + APP_STORE_CONNECT_TEAM_ID: '${{ secrets.TEAM_ID }}' + DEVELOPER_APP_ID: '${{ secrets.APPLE_ID }}' + DEVELOPER_APP_IDENTIFIER: '${{ secrets.IOS_IDENTIFIER }}' + DEVELOPER_PORTAL_TEAM_ID: '${{ secrets.TEAM_ID }}' + FASTLANE_APPLE_ID: '${{ secrets.FASTLANE_APPLE_ID }}' + FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: '${{ secrets.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }}' + MATCH_PASSWORD: '${{ secrets.MATCH_PASSWORD }}' + GIT_AUTHORIZATION: '${{ secrets._GITHUB_AUTH_TOKEN }}' + APPLE_KEY_ID: '${{ secrets.APPLE_KEY_ID }}' + APPLE_ISSUER_ID: '${{ secrets.ISSUER_ID }}' \ No newline at end of file From 1a1b8465e96b39042cddb662f8b19e74ba7501b2 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Sun, 18 Feb 2024 13:20:31 +0800 Subject: [PATCH 145/167] added ios command --- .github/workflows/keystore.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index d5710ed7..d3b830da 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -27,6 +27,10 @@ jobs: - name: Install CocoaPods run: sudo gem install cocoapods + + - name: Install Algolia Gem + run: | + gem install algolia - name: Install Pods run: cd ios && pod install From ac47657901e6baf0c79a3a605b89f7c41e210a0e Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Sun, 18 Feb 2024 13:40:11 +0800 Subject: [PATCH 146/167] bundler --- .github/workflows/keystore.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index d3b830da..a712ebee 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -29,8 +29,10 @@ jobs: run: sudo gem install cocoapods - name: Install Algolia Gem - run: | - gem install algolia + run: sudo gem install algolia + + - name: Install Bundler + run: gem install bundler - name: Install Pods run: cd ios && pod install From fb0fd98bca1243c3b2098889ea47f73e4c1a05a8 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Sun, 18 Feb 2024 18:05:42 +0800 Subject: [PATCH 147/167] update matchfile --- ios/fastlane/Matchfile | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 ios/fastlane/Matchfile diff --git a/ios/fastlane/Matchfile b/ios/fastlane/Matchfile new file mode 100644 index 00000000..d89a4804 --- /dev/null +++ b/ios/fastlane/Matchfile @@ -0,0 +1,13 @@ +git_url("https://github.com/fleetbase/fastlane-config.git") + +storage_mode("git") + +type("development") # The default type, can be: appstore, adhoc, enterprise or development + +# app_identifier(["tools.fastlane.app", "tools.fastlane.app2"]) +# username("user@fastlane.tools") # Your Apple Developer Portal username + +# For all available options run `fastlane match --help` +# Remove the # in the beginning of the line to enable the other options + +# The docs are available on https://docs.fastlane.tools/actions/match From d3e888dcd61ecc182109156717021a7cc3a7fea4 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Sun, 18 Feb 2024 18:43:55 +0800 Subject: [PATCH 148/167] changed workflow --- .github/workflows/keystore.yml | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index a712ebee..dbd2ef1f 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -6,7 +6,8 @@ on: env: MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} - + APPLE_ID: ${{ secrets.APPLE_ID }} + APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} jobs: ios_build: @@ -30,7 +31,7 @@ jobs: - name: Install Algolia Gem run: sudo gem install algolia - + - name: Install Bundler run: gem install bundler @@ -71,18 +72,15 @@ jobs: mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles - - name: Deploy iOS Beta to TestFlight via Fastlane - uses: maierj/fastlane-action@v1.4.0 - with: - lane: closed_beta - env: - APP_STORE_CONNECT_TEAM_ID: '${{ secrets.TEAM_ID }}' - DEVELOPER_APP_ID: '${{ secrets.APPLE_ID }}' - DEVELOPER_APP_IDENTIFIER: '${{ secrets.IOS_IDENTIFIER }}' - DEVELOPER_PORTAL_TEAM_ID: '${{ secrets.TEAM_ID }}' - FASTLANE_APPLE_ID: '${{ secrets.FASTLANE_APPLE_ID }}' - FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: '${{ secrets.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }}' - MATCH_PASSWORD: '${{ secrets.MATCH_PASSWORD }}' - GIT_AUTHORIZATION: '${{ secrets._GITHUB_AUTH_TOKEN }}' - APPLE_KEY_ID: '${{ secrets.APPLE_KEY_ID }}' - APPLE_ISSUER_ID: '${{ secrets.ISSUER_ID }}' \ No newline at end of file + - name: Build and archive + run: | + xcodebuild archive -workspace NavigatorApp.xcworkspace -scheme NavigatorApp -archivePath build/NavigatorApp.xcarchive + xcodebuild -exportArchive -archivePath build/NavigatorApp.xcarchive -exportOptionsPlist ExportOptions.plist -exportPath build + + - name: Upload to App Store Connect + run: | + xcrun altool --upload-app -f build/NavigatorApp.ipa -u $APPLE_ID -p $APPLE_PASSWORD --output-format xml + + - name: Verify upload status + run: | + xcrun altool --check-upload-status -f build/NavigatorApp.ipa -u $APPLE_ID -p $APPLE_PASSWORD --output-format xml \ No newline at end of file From 92313139318e9e82df7941f41d1638e33d671327 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Sun, 18 Feb 2024 18:54:12 +0800 Subject: [PATCH 149/167] changed dir --- .github/workflows/keystore.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index dbd2ef1f..1a6f414e 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -74,6 +74,7 @@ jobs: - name: Build and archive run: | + cd ios xcodebuild archive -workspace NavigatorApp.xcworkspace -scheme NavigatorApp -archivePath build/NavigatorApp.xcarchive xcodebuild -exportArchive -archivePath build/NavigatorApp.xcarchive -exportOptionsPlist ExportOptions.plist -exportPath build From 7fee27ebe23832350486b8d7b60a626dcb622d03 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Sun, 18 Feb 2024 21:41:53 +0800 Subject: [PATCH 150/167] added allow provisioning updates --- .github/workflows/keystore.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 1a6f414e..69dbd462 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -50,25 +50,20 @@ jobs: BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }} KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} run: | - # create variables CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12 PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db - # import certificate and provisioning profile from secrets echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode -o $PP_PATH - # create temporary keychain security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH security set-keychain-settings -lut 21600 $KEYCHAIN_PATH security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH - # import certificate to keychain security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH security list-keychain -d user -s $KEYCHAIN_PATH - # apply provisioning profile mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles @@ -76,7 +71,7 @@ jobs: run: | cd ios xcodebuild archive -workspace NavigatorApp.xcworkspace -scheme NavigatorApp -archivePath build/NavigatorApp.xcarchive - xcodebuild -exportArchive -archivePath build/NavigatorApp.xcarchive -exportOptionsPlist ExportOptions.plist -exportPath build + xcodebuild -exportArchive -archivePath -allowProvisioningUpdates build/NavigatorApp.xcarchive -exportOptionsPlist ExportOptions.plist -exportPath build - name: Upload to App Store Connect run: | From 8cfa8f45f97b16bf9532db602e4029195f52052f Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Sun, 18 Feb 2024 21:52:38 +0800 Subject: [PATCH 151/167] fixed --- .github/workflows/keystore.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 69dbd462..924d291a 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -70,8 +70,8 @@ jobs: - name: Build and archive run: | cd ios - xcodebuild archive -workspace NavigatorApp.xcworkspace -scheme NavigatorApp -archivePath build/NavigatorApp.xcarchive - xcodebuild -exportArchive -archivePath -allowProvisioningUpdates build/NavigatorApp.xcarchive -exportOptionsPlist ExportOptions.plist -exportPath build + xcodebuild archive -allowProvisioningUpdates -workspace NavigatorApp.xcworkspace -scheme NavigatorApp -archivePath build/NavigatorApp.xcarchive + xcodebuild -exportArchive -archivePath build/NavigatorApp.xcarchive -exportOptionsPlist ExportOptions.plist -exportPath build - name: Upload to App Store Connect run: | From c7945394e6f22cba7e82c827522ed76c66204deb Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 19 Feb 2024 10:58:19 +0800 Subject: [PATCH 152/167] test with android --- .github/workflows/keystore.yml | 116 ++++++++++++++++++--------------- 1 file changed, 63 insertions(+), 53 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 924d291a..f7c960e7 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -6,77 +6,87 @@ on: env: MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} - APPLE_ID: ${{ secrets.APPLE_ID }} - APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} + GOOGLE_MAPS_KEY: ${{ secrets.GOOGLE_MAPS_KEY }} + ANDROID_KEYSTORE_PASSWORD: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} + ANDROID_RELEASE_KEYSTORE: ${{ secrets.ANDROID_RELEASE_KEYSTORE }} jobs: - ios_build: - runs-on: macOS-latest + android_build: + runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - - - uses: maxim-lobanov/setup-xcode@v1 + + - name: Generate google-services.json + env: + GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }} + run: | + echo "$GOOGLE_SERVICES_JSON" > google-services.json + mkdir -p android/app/src + mv google-services.json android/app/src + + - name: Install Node.js + uses: actions/setup-node@v1 with: - xcode-version: latest-stable + node-version: 18.x - name: Install dependencies run: npm install -g yarn - - name: Install Yarn + - name: Install dependencies run: yarn install - - name: Install CocoaPods - run: sudo gem install cocoapods - - - name: Install Algolia Gem - run: sudo gem install algolia + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: 'oracle' + java-version: '17' + + - name: Run Jetify + run: npx jetify + + - name: Cache Gradle Wrapper + uses: actions/cache@v2 + with: + path: ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }} - - name: Install Bundler - run: gem install bundler + - name: Cache Gradle Dependencies + uses: actions/cache@v2 + with: + path: ~/.gradle/caches + key: ${{ runner.os }}-gradle-caches-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }} + restore-keys: | + ${{ runner.os }}-gradle-caches- + - name: Make Gradlew Executable + run: cd android && chmod +x ./gradlew + + - name: Generate release keystore + run: | + echo "$ANDROID_RELEASE_KEYSTORE" > release.keystore.asc + gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch release.keystore.asc > android/app/release.keystore - - name: Install Pods - run: cd ios && pod install + - name: Build Android + run: cd android && ./gradlew assembleRelease - name: Setup Ruby uses: ruby/setup-ruby@v1 with: ruby-version: '2.7.4' - - name: Install the Apple certificate and provisioning profile - env: - BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} - P12_PASSWORD: ${{ secrets.P12_PASSWORD }} - BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }} - KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} - run: | - CERTIFICATE_PATH=$RUNNER_TEMP/build_certificate.p12 - PP_PATH=$RUNNER_TEMP/build_pp.mobileprovision - KEYCHAIN_PATH=$RUNNER_TEMP/app-signing.keychain-db - - echo -n "$BUILD_CERTIFICATE_BASE64" | base64 --decode -o $CERTIFICATE_PATH - echo -n "$BUILD_PROVISION_PROFILE_BASE64" | base64 --decode -o $PP_PATH - - security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH - security set-keychain-settings -lut 21600 $KEYCHAIN_PATH - security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH + - name: Setup Fastlane + working-directory: ./android + run: bundle install - security import $CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH - security list-keychain -d user -s $KEYCHAIN_PATH - - mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles - cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles - - - name: Build and archive - run: | - cd ios - xcodebuild archive -allowProvisioningUpdates -workspace NavigatorApp.xcworkspace -scheme NavigatorApp -archivePath build/NavigatorApp.xcarchive - xcodebuild -exportArchive -archivePath build/NavigatorApp.xcarchive -exportOptionsPlist ExportOptions.plist -exportPath build - - - name: Upload to App Store Connect - run: | - xcrun altool --upload-app -f build/NavigatorApp.ipa -u $APPLE_ID -p $APPLE_PASSWORD --output-format xml - - - name: Verify upload status - run: | - xcrun altool --check-upload-status -f build/NavigatorApp.ipa -u $APPLE_ID -p $APPLE_PASSWORD --output-format xml \ No newline at end of file + - name: Install Fastlane + working-directory: ./android + run: fastlane beta + + - name: Deploy to Alpha + uses: r0adkll/upload-google-play@v1 + with: + serviceAccountJson: ${{ secrets.GOOGLE_SERVICES_JSON }} + packageName: com.jshvarts.flows + releaseFile: app/build/outputs/bundle/release/app-release.aab + track: alpha + whatsNewDirectory: distribution/ \ No newline at end of file From 7c052af15e237e8b13316e3e7dee50a72b4ff146 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 19 Feb 2024 11:30:11 +0800 Subject: [PATCH 153/167] fix package name --- .github/workflows/keystore.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index f7c960e7..bc304297 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -86,7 +86,7 @@ jobs: uses: r0adkll/upload-google-play@v1 with: serviceAccountJson: ${{ secrets.GOOGLE_SERVICES_JSON }} - packageName: com.jshvarts.flows - releaseFile: app/build/outputs/bundle/release/app-release.aab + packageName: ${{ secrets.APP_IDENTIFIER }} + releaseFiles: app/build/outputs/bundle/release/app-release.aab track: alpha whatsNewDirectory: distribution/ \ No newline at end of file From 3a904dfb35be4d5579b8aefeb98b43384c324338 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 19 Feb 2024 12:00:24 +0800 Subject: [PATCH 154/167] changed command --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index bc304297..c77d5b58 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -67,7 +67,7 @@ jobs: gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch release.keystore.asc > android/app/release.keystore - name: Build Android - run: cd android && ./gradlew assembleRelease + run: cd android && ./gradlew bundleRelease - name: Setup Ruby uses: ruby/setup-ruby@v1 From d8c399224edce46ad6a4e44256b4bd3f7d47c715 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 19 Feb 2024 12:27:43 +0800 Subject: [PATCH 155/167] changed --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index c77d5b58..22b9bb43 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -87,6 +87,6 @@ jobs: with: serviceAccountJson: ${{ secrets.GOOGLE_SERVICES_JSON }} packageName: ${{ secrets.APP_IDENTIFIER }} - releaseFiles: app/build/outputs/bundle/release/app-release.aab + releaseFiles: app/build/outputs/bundle/release/ track: alpha whatsNewDirectory: distribution/ \ No newline at end of file From 710d129efc6513633836b4e215082af8742e43fc Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 19 Feb 2024 12:56:13 +0800 Subject: [PATCH 156/167] fix --- .github/workflows/keystore.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 22b9bb43..f7b2d191 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -87,6 +87,6 @@ jobs: with: serviceAccountJson: ${{ secrets.GOOGLE_SERVICES_JSON }} packageName: ${{ secrets.APP_IDENTIFIER }} - releaseFiles: app/build/outputs/bundle/release/ + releaseFiles: android/app/build/outputs/bundle/release/app-release.aab track: alpha whatsNewDirectory: distribution/ \ No newline at end of file From 01b9d0850b0a7f83f056b1a75a94b5883aa5459b Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 19 Feb 2024 13:28:24 +0800 Subject: [PATCH 157/167] update --- .github/workflows/keystore.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index f7b2d191..77de3d5e 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -67,7 +67,9 @@ jobs: gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch release.keystore.asc > android/app/release.keystore - name: Build Android - run: cd android && ./gradlew bundleRelease + run: | + cd android && ./gradlew bundleRelease + ls app/build/outputs/bundle/release - name: Setup Ruby uses: ruby/setup-ruby@v1 @@ -88,5 +90,5 @@ jobs: serviceAccountJson: ${{ secrets.GOOGLE_SERVICES_JSON }} packageName: ${{ secrets.APP_IDENTIFIER }} releaseFiles: android/app/build/outputs/bundle/release/app-release.aab - track: alpha - whatsNewDirectory: distribution/ \ No newline at end of file + track: beta + whatsNewDirectory: distribution/ From 9a117a0af2ec290176d1eda2d0b731dbbdb0adc8 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 19 Feb 2024 14:00:42 +0800 Subject: [PATCH 158/167] fix --- .github/workflows/keystore.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 77de3d5e..6d220e96 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -84,11 +84,11 @@ jobs: working-directory: ./android run: fastlane beta - - name: Deploy to Alpha + - name: Deploy to Internal uses: r0adkll/upload-google-play@v1 with: serviceAccountJson: ${{ secrets.GOOGLE_SERVICES_JSON }} packageName: ${{ secrets.APP_IDENTIFIER }} - releaseFiles: android/app/build/outputs/bundle/release/app-release.aab + releaseFiles: ./android/app/build/outputs/bundle/release/app-release.aab track: beta - whatsNewDirectory: distribution/ + status: inProgress \ No newline at end of file From 0a894b48e4d0839afd6dbc9dc418ca3ceb9d877d Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 19 Feb 2024 14:20:36 +0800 Subject: [PATCH 159/167] remove --- .github/workflows/keystore.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 6d220e96..26dbfb91 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -90,5 +90,4 @@ jobs: serviceAccountJson: ${{ secrets.GOOGLE_SERVICES_JSON }} packageName: ${{ secrets.APP_IDENTIFIER }} releaseFiles: ./android/app/build/outputs/bundle/release/app-release.aab - track: beta - status: inProgress \ No newline at end of file + track: beta \ No newline at end of file From 83764b884b4faa404d66e878388067e8659a0f48 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 19 Feb 2024 14:43:16 +0800 Subject: [PATCH 160/167] update --- .github/workflows/keystore.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 26dbfb91..58b00004 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -87,7 +87,7 @@ jobs: - name: Deploy to Internal uses: r0adkll/upload-google-play@v1 with: - serviceAccountJson: ${{ secrets.GOOGLE_SERVICES_JSON }} + serviceAccountJson: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_JSON }} packageName: ${{ secrets.APP_IDENTIFIER }} - releaseFiles: ./android/app/build/outputs/bundle/release/app-release.aab + releaseFiles: android/app/build/outputs/bundle/release/app-release.aab track: beta \ No newline at end of file From f65dfac2135b5b06d2c9ccea19faebb4cddd2ef9 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 19 Feb 2024 15:30:19 +0800 Subject: [PATCH 161/167] fix --- .github/workflows/keystore.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 58b00004..09c8cf8b 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -65,6 +65,10 @@ jobs: run: | echo "$ANDROID_RELEASE_KEYSTORE" > release.keystore.asc gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch release.keystore.asc > android/app/release.keystore + + - name: Clean Gradle build + run: | + cd android && ./gradlew clean - name: Build Android run: | @@ -89,5 +93,5 @@ jobs: with: serviceAccountJson: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_JSON }} packageName: ${{ secrets.APP_IDENTIFIER }} - releaseFiles: android/app/build/outputs/bundle/release/app-release.aab + releaseFiles: ./app/build/outputs/bundle/release/app-release.aab track: beta \ No newline at end of file From 17f34258f55e66216e2562ea42ef93fc9d549870 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 19 Feb 2024 15:52:02 +0800 Subject: [PATCH 162/167] updated command --- .github/workflows/keystore.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 09c8cf8b..d7db0dbb 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -80,14 +80,16 @@ jobs: with: ruby-version: '2.7.4' - - name: Setup Fastlane - working-directory: ./android - run: bundle install + - name: Sign AAB + uses: r0adkll/sign-android-release@v1 + with: + releaseDirectory: app/build/outputs/bundle/release + signingKeyBase64: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} + alias: ${{ secrets.ANDROID_ALIAS }} + keyStorePassword: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} + keyPassword: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} + - - name: Install Fastlane - working-directory: ./android - run: fastlane beta - - name: Deploy to Internal uses: r0adkll/upload-google-play@v1 with: From 018df253ff0e9db640c14acf10e66c21dfefbe12 Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 19 Feb 2024 16:16:16 +0800 Subject: [PATCH 163/167] update upload command --- .github/workflows/keystore.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index d7db0dbb..8340208e 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -80,14 +80,12 @@ jobs: with: ruby-version: '2.7.4' - - name: Sign AAB - uses: r0adkll/sign-android-release@v1 + - name: Upload AAB + id: uploadArtifact + uses: actions/upload-artifact@v1 with: - releaseDirectory: app/build/outputs/bundle/release - signingKeyBase64: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} - alias: ${{ secrets.ANDROID_ALIAS }} - keyStorePassword: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} - keyPassword: ${{ secrets.ANDROID_KEYSTORE_PASSWORD }} + name: app + path: app/build/outputs/bundle/release/app-release.aab - name: Deploy to Internal @@ -95,5 +93,6 @@ jobs: with: serviceAccountJson: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_JSON }} packageName: ${{ secrets.APP_IDENTIFIER }} - releaseFiles: ./app/build/outputs/bundle/release/app-release.aab - track: beta \ No newline at end of file + releaseFiles: app/build/outputs/bundle/release/app-release.aab + track: beta + whatsNewDirectory: whatsnew/ From 90cf65041842dda2e9283d86d60dc61322d2e32c Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 19 Feb 2024 16:33:18 +0800 Subject: [PATCH 164/167] update --- .github/workflows/keystore.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 8340208e..002fe9a0 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -85,7 +85,7 @@ jobs: uses: actions/upload-artifact@v1 with: name: app - path: app/build/outputs/bundle/release/app-release.aab + path: android/app/build/outputs/bundle/release/app-release.aab - name: Deploy to Internal @@ -93,6 +93,6 @@ jobs: with: serviceAccountJson: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_JSON }} packageName: ${{ secrets.APP_IDENTIFIER }} - releaseFiles: app/build/outputs/bundle/release/app-release.aab + releaseFiles: android/app/build/outputs/bundle/release/app-release.aab track: beta whatsNewDirectory: whatsnew/ From de61b0112d15ce13cdb3ed957c62a217064ef90f Mon Sep 17 00:00:00 2001 From: Doljinsuren Enkhbayar Date: Mon, 19 Feb 2024 16:58:28 +0800 Subject: [PATCH 165/167] remove line --- .github/workflows/keystore.yml | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 002fe9a0..19cac84b 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -80,19 +80,10 @@ jobs: with: ruby-version: '2.7.4' - - name: Upload AAB - id: uploadArtifact - uses: actions/upload-artifact@v1 - with: - name: app - path: android/app/build/outputs/bundle/release/app-release.aab - - - name: Deploy to Internal uses: r0adkll/upload-google-play@v1 with: serviceAccountJson: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_JSON }} packageName: ${{ secrets.APP_IDENTIFIER }} releaseFiles: android/app/build/outputs/bundle/release/app-release.aab - track: beta - whatsNewDirectory: whatsnew/ + track: beta \ No newline at end of file From 1623a824820577a780c75ff3efba5a95e19fdd0e Mon Sep 17 00:00:00 2001 From: Turtuvshin Byambaa Date: Mon, 19 Feb 2024 17:01:08 +0800 Subject: [PATCH 166/167] Create test.aab --- android/test.aab | 1 + 1 file changed, 1 insertion(+) create mode 100644 android/test.aab diff --git a/android/test.aab b/android/test.aab new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/android/test.aab @@ -0,0 +1 @@ + From 0ed4cc273d7540ba8f6ecabf00a7d2ae1e58f54a Mon Sep 17 00:00:00 2001 From: Turtuvshin Byambaa Date: Mon, 19 Feb 2024 17:01:41 +0800 Subject: [PATCH 167/167] Update keystore.yml --- .github/workflows/keystore.yml | 67 +--------------------------------- 1 file changed, 2 insertions(+), 65 deletions(-) diff --git a/.github/workflows/keystore.yml b/.github/workflows/keystore.yml index 19cac84b..9d881e23 100644 --- a/.github/workflows/keystore.yml +++ b/.github/workflows/keystore.yml @@ -17,73 +17,10 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Generate google-services.json - env: - GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON }} - run: | - echo "$GOOGLE_SERVICES_JSON" > google-services.json - mkdir -p android/app/src - mv google-services.json android/app/src - - - name: Install Node.js - uses: actions/setup-node@v1 - with: - node-version: 18.x - - - name: Install dependencies - run: npm install -g yarn - - - name: Install dependencies - run: yarn install - - - name: Set up JDK 17 - uses: actions/setup-java@v4 - with: - distribution: 'oracle' - java-version: '17' - - - name: Run Jetify - run: npx jetify - - - name: Cache Gradle Wrapper - uses: actions/cache@v2 - with: - path: ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }} - - - name: Cache Gradle Dependencies - uses: actions/cache@v2 - with: - path: ~/.gradle/caches - key: ${{ runner.os }}-gradle-caches-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle-caches- - - name: Make Gradlew Executable - run: cd android && chmod +x ./gradlew - - - name: Generate release keystore - run: | - echo "$ANDROID_RELEASE_KEYSTORE" > release.keystore.asc - gpg -d --passphrase "$ANDROID_KEYSTORE_PASSWORD" --batch release.keystore.asc > android/app/release.keystore - - - name: Clean Gradle build - run: | - cd android && ./gradlew clean - - - name: Build Android - run: | - cd android && ./gradlew bundleRelease - ls app/build/outputs/bundle/release - - - name: Setup Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: '2.7.4' - - name: Deploy to Internal uses: r0adkll/upload-google-play@v1 with: serviceAccountJson: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_JSON }} packageName: ${{ secrets.APP_IDENTIFIER }} - releaseFiles: android/app/build/outputs/bundle/release/app-release.aab - track: beta \ No newline at end of file + releaseFiles: android/test.aab + track: beta