From 43be7275a3c40de09538d49be90a372b061d644c Mon Sep 17 00:00:00 2001 From: l-lyun Date: Thu, 21 Aug 2025 01:27:47 +0900 Subject: [PATCH 1/6] release: ios build 1 --- ios/AdminClientApp.xcodeproj/project.pbxproj | 36 +++++++++++++------- ios/AdminClientApp/Info.plist | 2 +- 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/ios/AdminClientApp.xcodeproj/project.pbxproj b/ios/AdminClientApp.xcodeproj/project.pbxproj index 20ec5cf..5e93f0c 100644 --- a/ios/AdminClientApp.xcodeproj/project.pbxproj +++ b/ios/AdminClientApp.xcodeproj/project.pbxproj @@ -326,10 +326,14 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-AdminClientApp/Pods-AdminClientApp-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); + inputPaths = ( + ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-AdminClientApp/Pods-AdminClientApp-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-AdminClientApp/Pods-AdminClientApp-frameworks.sh\"\n"; @@ -344,6 +348,8 @@ "$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)", ); name = "[CP-User] [RNFB] Core Configuration"; + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "#!/usr/bin/env bash\n#\n# Copyright (c) 2016-present Invertase Limited & Contributors\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this library except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n#\n\n##########################################################################\n##########################################################################\n#\n# NOTE THAT IF YOU CHANGE THIS FILE YOU MUST RUN pod install AFTERWARDS\n#\n# This file is installed as an Xcode build script in the project file\n# by cocoapods, and you will not see your changes until you pod install\n#\n##########################################################################\n##########################################################################\n\nset -e\n\n_MAX_LOOKUPS=2;\n_SEARCH_RESULT=''\n_RN_ROOT_EXISTS=''\n_CURRENT_LOOKUPS=1\n_JSON_ROOT=\"'react-native'\"\n_JSON_FILE_NAME='firebase.json'\n_JSON_OUTPUT_BASE64='e30=' # { }\n_CURRENT_SEARCH_DIR=${PROJECT_DIR}\n_PLIST_BUDDY=/usr/libexec/PlistBuddy\n_TARGET_PLIST=\"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\"\n_DSYM_PLIST=\"${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Info.plist\"\n\n# plist arrays\n_PLIST_ENTRY_KEYS=()\n_PLIST_ENTRY_TYPES=()\n_PLIST_ENTRY_VALUES=()\n\nfunction setPlistValue {\n echo \"info: setting plist entry '$1' of type '$2' in file '$4'\"\n ${_PLIST_BUDDY} -c \"Add :$1 $2 '$3'\" $4 || echo \"info: '$1' already exists\"\n}\n\nfunction getFirebaseJsonKeyValue () {\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$1'); puts output[$_JSON_ROOT]['$2']\"\n else\n echo \"\"\n fi;\n}\n\nfunction jsonBoolToYesNo () {\n if [[ $1 == \"false\" ]]; then\n echo \"NO\"\n elif [[ $1 == \"true\" ]]; then\n echo \"YES\"\n else echo \"NO\"\n fi\n}\n\necho \"info: -> RNFB build script started\"\necho \"info: 1) Locating ${_JSON_FILE_NAME} file:\"\n\nif [[ -z ${_CURRENT_SEARCH_DIR} ]]; then\n _CURRENT_SEARCH_DIR=$(pwd)\nfi;\n\nwhile true; do\n _CURRENT_SEARCH_DIR=$(dirname \"$_CURRENT_SEARCH_DIR\")\n if [[ \"$_CURRENT_SEARCH_DIR\" == \"/\" ]] || [[ ${_CURRENT_LOOKUPS} -gt ${_MAX_LOOKUPS} ]]; then break; fi;\n echo \"info: ($_CURRENT_LOOKUPS of $_MAX_LOOKUPS) Searching in '$_CURRENT_SEARCH_DIR' for a ${_JSON_FILE_NAME} file.\"\n _SEARCH_RESULT=$(find \"$_CURRENT_SEARCH_DIR\" -maxdepth 2 -name ${_JSON_FILE_NAME} -print | /usr/bin/head -n 1)\n if [[ ${_SEARCH_RESULT} ]]; then\n echo \"info: ${_JSON_FILE_NAME} found at $_SEARCH_RESULT\"\n break;\n fi;\n _CURRENT_LOOKUPS=$((_CURRENT_LOOKUPS+1))\ndone\n\nif [[ ${_SEARCH_RESULT} ]]; then\n _JSON_OUTPUT_RAW=$(cat \"${_SEARCH_RESULT}\")\n _RN_ROOT_EXISTS=$(ruby -Ku -e \"require 'rubygems';require 'json'; output=JSON.parse('$_JSON_OUTPUT_RAW'); puts output[$_JSON_ROOT]\" || echo '')\n\n if [[ ${_RN_ROOT_EXISTS} ]]; then\n if ! python3 --version >/dev/null 2>&1; then echo \"python3 not found, firebase.json file processing error.\" && exit 1; fi\n _JSON_OUTPUT_BASE64=$(python3 -c 'import json,sys,base64;print(base64.b64encode(bytes(json.dumps(json.loads(open('\"'${_SEARCH_RESULT}'\"', '\"'rb'\"').read())['${_JSON_ROOT}']), '\"'utf-8'\"')).decode())' || echo \"e30=\")\n fi\n\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n\n # config.app_data_collection_default_enabled\n _APP_DATA_COLLECTION_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_data_collection_default_enabled\")\n if [[ $_APP_DATA_COLLECTION_ENABLED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseDataCollectionDefaultEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_DATA_COLLECTION_ENABLED\")\")\n fi\n\n # config.analytics_auto_collection_enabled\n _ANALYTICS_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_auto_collection_enabled\")\n if [[ $_ANALYTICS_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_COLLECTION\")\")\n fi\n\n # config.analytics_collection_deactivated\n _ANALYTICS_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_collection_deactivated\")\n if [[ $_ANALYTICS_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_DEACTIVATED\")\")\n fi\n\n # config.analytics_idfv_collection_enabled\n _ANALYTICS_IDFV_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_idfv_collection_enabled\")\n if [[ $_ANALYTICS_IDFV_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_IDFV_COLLECTION_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_IDFV_COLLECTION\")\")\n fi\n\n # config.analytics_default_allow_analytics_storage\n _ANALYTICS_STORAGE=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_analytics_storage\")\n if [[ $_ANALYTICS_STORAGE ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_ANALYTICS_STORAGE\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_STORAGE\")\")\n fi\n\n # config.analytics_default_allow_ad_storage\n _ANALYTICS_AD_STORAGE=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_storage\")\n if [[ $_ANALYTICS_AD_STORAGE ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_STORAGE\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AD_STORAGE\")\")\n fi\n\n # config.analytics_default_allow_ad_user_data\n _ANALYTICS_AD_USER_DATA=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_user_data\")\n if [[ $_ANALYTICS_AD_USER_DATA ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_USER_DATA\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AD_USER_DATA\")\")\n fi\n\n # config.analytics_default_allow_ad_personalization_signals\n _ANALYTICS_PERSONALIZATION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"analytics_default_allow_ad_personalization_signals\")\n if [[ $_ANALYTICS_PERSONALIZATION ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_PERSONALIZATION\")\")\n fi\n\n # config.analytics_registration_with_ad_network_enabled\n _ANALYTICS_REGISTRATION_WITH_AD_NETWORK=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_registration_with_ad_network_enabled\")\n if [[ $_ANALYTICS_REGISTRATION_WITH_AD_NETWORK ]]; then\n _PLIST_ENTRY_KEYS+=(\"GOOGLE_ANALYTICS_REGISTRATION_WITH_AD_NETWORK_ENABLED\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_REGISTRATION_WITH_AD_NETWORK\")\")\n fi\n\n # config.google_analytics_automatic_screen_reporting_enabled\n _ANALYTICS_AUTO_SCREEN_REPORTING=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"google_analytics_automatic_screen_reporting_enabled\")\n if [[ $_ANALYTICS_AUTO_SCREEN_REPORTING ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAutomaticScreenReportingEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_ANALYTICS_AUTO_SCREEN_REPORTING\")\")\n fi\n\n # config.perf_auto_collection_enabled\n _PERF_AUTO_COLLECTION=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_auto_collection_enabled\")\n if [[ $_PERF_AUTO_COLLECTION ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_enabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_AUTO_COLLECTION\")\")\n fi\n\n # config.perf_collection_deactivated\n _PERF_DEACTIVATED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"perf_collection_deactivated\")\n if [[ $_PERF_DEACTIVATED ]]; then\n _PLIST_ENTRY_KEYS+=(\"firebase_performance_collection_deactivated\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_PERF_DEACTIVATED\")\")\n fi\n\n # config.messaging_auto_init_enabled\n _MESSAGING_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"messaging_auto_init_enabled\")\n if [[ $_MESSAGING_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseMessagingAutoInitEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_MESSAGING_AUTO_INIT\")\")\n fi\n\n # config.in_app_messaging_auto_colllection_enabled\n _FIAM_AUTO_INIT=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"in_app_messaging_auto_collection_enabled\")\n if [[ $_FIAM_AUTO_INIT ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseInAppMessagingAutomaticDataCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_FIAM_AUTO_INIT\")\")\n fi\n\n # config.app_check_token_auto_refresh\n _APP_CHECK_TOKEN_AUTO_REFRESH=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"app_check_token_auto_refresh\")\n if [[ $_APP_CHECK_TOKEN_AUTO_REFRESH ]]; then\n _PLIST_ENTRY_KEYS+=(\"FirebaseAppCheckTokenAutoRefreshEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"$(jsonBoolToYesNo \"$_APP_CHECK_TOKEN_AUTO_REFRESH\")\")\n fi\n\n # config.crashlytics_disable_auto_disabler - undocumented for now - mainly for debugging, document if becomes useful\n _CRASHLYTICS_AUTO_DISABLE_ENABLED=$(getFirebaseJsonKeyValue \"$_JSON_OUTPUT_RAW\" \"crashlytics_disable_auto_disabler\")\n if [[ $_CRASHLYTICS_AUTO_DISABLE_ENABLED == \"true\" ]]; then\n echo \"Disabled Crashlytics auto disabler.\" # do nothing\n else\n _PLIST_ENTRY_KEYS+=(\"FirebaseCrashlyticsCollectionEnabled\")\n _PLIST_ENTRY_TYPES+=(\"bool\")\n _PLIST_ENTRY_VALUES+=(\"NO\")\n fi\nelse\n _PLIST_ENTRY_KEYS+=(\"firebase_json_raw\")\n _PLIST_ENTRY_TYPES+=(\"string\")\n _PLIST_ENTRY_VALUES+=(\"$_JSON_OUTPUT_BASE64\")\n echo \"warning: A firebase.json file was not found, whilst this file is optional it is recommended to include it to configure firebase services in React Native Firebase.\"\nfi;\n\necho \"info: 2) Injecting Info.plist entries: \"\n\n# Log out the keys we're adding\nfor i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n echo \" -> $i) ${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\"\ndone\n\nfor plist in \"${_TARGET_PLIST}\" \"${_DSYM_PLIST}\" ; do\n if [[ -f \"${plist}\" ]]; then\n\n # paths with spaces break the call to setPlistValue. temporarily modify\n # the shell internal field separator variable (IFS), which normally\n # includes spaces, to consist only of line breaks\n oldifs=$IFS\n IFS=\"\n\"\n\n for i in \"${!_PLIST_ENTRY_KEYS[@]}\"; do\n setPlistValue \"${_PLIST_ENTRY_KEYS[$i]}\" \"${_PLIST_ENTRY_TYPES[$i]}\" \"${_PLIST_ENTRY_VALUES[$i]}\" \"${plist}\"\n done\n\n # restore the original internal field separator value\n IFS=$oldifs\n else\n echo \"warning: A Info.plist build output file was not found (${plist})\"\n fi\ndone\n\necho \"info: <- RNFB build script finished\"\n"; @@ -400,10 +406,14 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-AdminClientApp-AdminClientAppTests/Pods-AdminClientApp-AdminClientAppTests-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); + inputPaths = ( + ); name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-AdminClientApp-AdminClientAppTests/Pods-AdminClientApp-AdminClientAppTests-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-AdminClientApp-AdminClientAppTests/Pods-AdminClientApp-AdminClientAppTests-frameworks.sh\"\n"; @@ -417,10 +427,14 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-AdminClientApp/Pods-AdminClientApp-resources-${CONFIGURATION}-input-files.xcfilelist", ); + inputPaths = ( + ); name = "[CP] Copy Pods Resources"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-AdminClientApp/Pods-AdminClientApp-resources-${CONFIGURATION}-output-files.xcfilelist", ); + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-AdminClientApp/Pods-AdminClientApp-resources.sh\"\n"; @@ -434,10 +448,14 @@ inputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-AdminClientApp-AdminClientAppTests/Pods-AdminClientApp-AdminClientAppTests-resources-${CONFIGURATION}-input-files.xcfilelist", ); + inputPaths = ( + ); name = "[CP] Copy Pods Resources"; outputFileListPaths = ( "${PODS_ROOT}/Target Support Files/Pods-AdminClientApp-AdminClientAppTests/Pods-AdminClientApp-AdminClientAppTests-resources-${CONFIGURATION}-output-files.xcfilelist", ); + outputPaths = ( + ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-AdminClientApp-AdminClientAppTests/Pods-AdminClientApp-AdminClientAppTests-resources.sh\"\n"; @@ -548,7 +566,7 @@ CODE_SIGN_ENTITLEMENTS = AdminClientApp/AdminClientApp.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 3; + CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = 3P5SZ6DAC9; ENABLE_BITCODE = NO; INFOPLIST_FILE = AdminClientApp/Info.plist; @@ -556,7 +574,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.1.2; + MARKETING_VERSION = 1.1.4; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", @@ -581,14 +599,14 @@ CODE_SIGN_ENTITLEMENTS = AdminClientApp/AdminClientApp.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 3; + CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = 3P5SZ6DAC9; INFOPLIST_FILE = AdminClientApp/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.1.2; + MARKETING_VERSION = 1.1.4; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", @@ -688,10 +706,7 @@ "-DFOLLY_CFG_NO_COROUTINES=1", "-DFOLLY_HAVE_CLOCK_GETTIME=1", ); - OTHER_LDFLAGS = ( - "$(inherited)", - " ", - ); + OTHER_LDFLAGS = "$(inherited) "; REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG"; @@ -776,10 +791,7 @@ "-DFOLLY_CFG_NO_COROUTINES=1", "-DFOLLY_HAVE_CLOCK_GETTIME=1", ); - OTHER_LDFLAGS = ( - "$(inherited)", - " ", - ); + OTHER_LDFLAGS = "$(inherited) "; REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native"; SDKROOT = iphoneos; USE_HERMES = true; diff --git a/ios/AdminClientApp/Info.plist b/ios/AdminClientApp/Info.plist index 5694034..cba7cb9 100644 --- a/ios/AdminClientApp/Info.plist +++ b/ios/AdminClientApp/Info.plist @@ -42,7 +42,7 @@ CFBundleVersion - $(CURRENT_PROJECT_VERSION) + 1 KAKAO_APP_KEY $(KAKAO_KEY) LSApplicationQueriesSchemes From a88772481a38c1aeb65eb39385101afe9ba290d1 Mon Sep 17 00:00:00 2001 From: 99mini Date: Wed, 27 Aug 2025 21:02:23 +0900 Subject: [PATCH 2/6] chore: android release 1.1.4 --- android/app/build.gradle | 4 +- fastlane/README.md | 90 ++++++++++------------------------------ package.json | 2 +- 3 files changed, 25 insertions(+), 71 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index c4e50ef..e92f41d 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -93,8 +93,8 @@ android { applicationId "com.ummgoban.momchanpickadmin" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 22 // TODO: update version code - versionName "1.1.3" // TODO: update version name + versionCode 23 // TODO: update version code + versionName "1.1.4" // TODO: update version name resValue "string", "build_config_package", "com.ummgoban.momchanpickadmin" } signingConfigs { diff --git a/fastlane/README.md b/fastlane/README.md index e02a343..49a01a9 100644 --- a/fastlane/README.md +++ b/fastlane/README.md @@ -1,107 +1,61 @@ -# fastlane documentation +fastlane documentation +---- -> ⚡️ iOS & Android 자동화 배포를 위한 Fastlane 설정 문서입니다. +# Installation ---- +Make sure you have the latest version of the Xcode command line tools installed: -## 🔧 Installation - -1. **Xcode Command Line Tools 설치** ```sh xcode-select --install ``` -2. **fastlane 설치** -```sh -[sudo] brew install bundler -# 또는 Bundler 사용하는 경우: -bundle install -``` - -자세한 설치 가이드는 [fastlane.tools 설치 가이드](https://docs.fastlane.tools/#installing-fastlane)를 참고하세요. +For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane) ---- +# Available Actions -## 🚀 Available Fastlane Lanes +## iOS -### 📱 iOS - -#### `ios develop` +### ios develop ```sh [bundle exec] fastlane ios develop ``` -✅ 개발 서버용 `.env.development` 설정 -✅ build number 증가 -✅ TestFlight 업로드 - ---- +Upload a new build to TestFlight (development server) -#### `ios release` +### ios release ```sh [bundle exec] fastlane ios release ``` -🚀 프로덕션 서버용 `.env.release` 설정 -🚀 build number 증가 -🚀 App Store 업로드 +Push a new release build to the App Store (production server) ---- +---- -### 🤖 Android -#### `android dev` +## Android + +### android dev ```sh [bundle exec] fastlane android dev ``` -✅ 개발 서버용 `.env.development` 설정 -✅ Debug 빌드 (`installDebug`) 후 기기에 설치 - ---- +Deploy a development build to local device -#### `android release` +### android release ```sh [bundle exec] fastlane android release ``` -🚀 프로덕션 서버용 `.env.release` 설정 -🚀 AAB 빌드 (`bundleRelease`) -🚀 Play Store 내부 테스트 트랙 업로드 -※ `android/service-account.json` 필요 - ---- - -## 📁 환경 변수 파일 (.env) - -- `.env.development` – 개발용 설정 -- `.env.release` – 릴리즈용 설정 -- 환경 변수는 `react-native-config`로 Android/iOS에 자동 주입됩니다. - ---- - -## 🔐 인증 관련 - -### iOS -- `fastlane/AuthKey_XXXX.p8` -- `key_id`, `issuer_id`는 `Fastfile`에 설정되어 있음 - -### Android -- `android/service-account.json` -- 권한: Google Play Console > API Access > 서비스 계정 등록 필수 - ---- +Build release aab and upload to internal track -## 📚 더 보기 +---- -- [Fastlane 공식 문서](https://docs.fastlane.tools) -- [iOS 배포 가이드](https://docs.fastlane.tools/getting-started/ios/setup/) -- [Android 배포 가이드](https://docs.fastlane.tools/getting-started/android/setup/) +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). -_이 README는 Fastlane 실행 시 자동으로 덮어쓰기되지 않으며, 수동 관리 중입니다._ +The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools). diff --git a/package.json b/package.json index 246a5af..4edf5d3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "AdminClientApp", - "version": "1.1.3", + "version": "1.1.4", "private": true, "scripts": { "ci": "sh ./.script/ci.sh", From bc0c7d869d3df26ea7bd38978f843e0353b54ebd Mon Sep 17 00:00:00 2001 From: 99mini Date: Wed, 27 Aug 2025 21:06:00 +0900 Subject: [PATCH 3/6] revert: readme --- fastlane/README.md | 90 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 68 insertions(+), 22 deletions(-) diff --git a/fastlane/README.md b/fastlane/README.md index 49a01a9..e02a343 100644 --- a/fastlane/README.md +++ b/fastlane/README.md @@ -1,61 +1,107 @@ -fastlane documentation ----- +# fastlane documentation -# Installation +> ⚡️ iOS & Android 자동화 배포를 위한 Fastlane 설정 문서입니다. -Make sure you have the latest version of the Xcode command line tools installed: +--- +## 🔧 Installation + +1. **Xcode Command Line Tools 설치** ```sh xcode-select --install ``` -For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane) +2. **fastlane 설치** +```sh +[sudo] brew install bundler +# 또는 Bundler 사용하는 경우: +bundle install +``` + +자세한 설치 가이드는 [fastlane.tools 설치 가이드](https://docs.fastlane.tools/#installing-fastlane)를 참고하세요. -# Available Actions +--- -## iOS +## 🚀 Available Fastlane Lanes -### ios develop +### 📱 iOS + +#### `ios develop` ```sh [bundle exec] fastlane ios develop ``` -Upload a new build to TestFlight (development server) +✅ 개발 서버용 `.env.development` 설정 +✅ build number 증가 +✅ TestFlight 업로드 + +--- -### ios release +#### `ios release` ```sh [bundle exec] fastlane ios release ``` -Push a new release build to the App Store (production server) +🚀 프로덕션 서버용 `.env.release` 설정 +🚀 build number 증가 +🚀 App Store 업로드 ----- +--- +### 🤖 Android -## Android - -### android dev +#### `android dev` ```sh [bundle exec] fastlane android dev ``` -Deploy a development build to local device +✅ 개발 서버용 `.env.development` 설정 +✅ Debug 빌드 (`installDebug`) 후 기기에 설치 + +--- -### android release +#### `android release` ```sh [bundle exec] fastlane android release ``` -Build release aab and upload to internal track +🚀 프로덕션 서버용 `.env.release` 설정 +🚀 AAB 빌드 (`bundleRelease`) +🚀 Play Store 내부 테스트 트랙 업로드 +※ `android/service-account.json` 필요 + +--- + +## 📁 환경 변수 파일 (.env) + +- `.env.development` – 개발용 설정 +- `.env.release` – 릴리즈용 설정 +- 환경 변수는 `react-native-config`로 Android/iOS에 자동 주입됩니다. + +--- + +## 🔐 인증 관련 + +### iOS +- `fastlane/AuthKey_XXXX.p8` +- `key_id`, `issuer_id`는 `Fastfile`에 설정되어 있음 + +### Android +- `android/service-account.json` +- 권한: Google Play Console > API Access > 서비스 계정 등록 필수 + +--- ----- +## 📚 더 보기 -This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run. +- [Fastlane 공식 문서](https://docs.fastlane.tools) +- [iOS 배포 가이드](https://docs.fastlane.tools/getting-started/ios/setup/) +- [Android 배포 가이드](https://docs.fastlane.tools/getting-started/android/setup/) -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). +_이 README는 Fastlane 실행 시 자동으로 덮어쓰기되지 않으며, 수동 관리 중입니다._ From 7056abb33b0f3fc664ab09edb6c06a770cf40377 Mon Sep 17 00:00:00 2001 From: 99mini Date: Sat, 30 Aug 2025 12:01:17 +0900 Subject: [PATCH 4/6] release: android product release 24 --- android/app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index e92f41d..b92014a 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -93,8 +93,8 @@ android { applicationId "com.ummgoban.momchanpickadmin" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 23 // TODO: update version code - versionName "1.1.4" // TODO: update version name + versionCode 24 // TODO: update version code + versionName "1.1.4.1" // TODO: update version name resValue "string", "build_config_package", "com.ummgoban.momchanpickadmin" } signingConfigs { From 07b7ed3ab79c98183c0c9bdcb99a1dc261294b23 Mon Sep 17 00:00:00 2001 From: 99mini Date: Thu, 4 Sep 2025 20:42:06 +0900 Subject: [PATCH 5/6] release: android product release 25 --- android/app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index b92014a..a445545 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -93,8 +93,8 @@ android { applicationId "com.ummgoban.momchanpickadmin" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 24 // TODO: update version code - versionName "1.1.4.1" // TODO: update version name + versionCode 25 // TODO: update version code + versionName "1.1.4" // TODO: update version name resValue "string", "build_config_package", "com.ummgoban.momchanpickadmin" } signingConfigs { From ec73009bc595f8391d9918e255446ad78a571cde Mon Sep 17 00:00:00 2001 From: 99mini <0mini9939@gmail.com> Date: Mon, 27 Oct 2025 19:31:31 +0900 Subject: [PATCH 6/6] release: andriod 1.1.4.1 --- android/app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index a445545..11c1964 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -93,8 +93,8 @@ android { applicationId "com.ummgoban.momchanpickadmin" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 25 // TODO: update version code - versionName "1.1.4" // TODO: update version name + versionCode 26 // TODO: update version code + versionName "1.1.4.1" // TODO: update version name resValue "string", "build_config_package", "com.ummgoban.momchanpickadmin" } signingConfigs {