From 844b2cbe7bb125a1dde3b99fb17605ae0370b65d Mon Sep 17 00:00:00 2001 From: LeeMyeongJin Date: Thu, 18 Jan 2024 19:52:52 +0900 Subject: [PATCH 01/14] =?UTF-8?q?[Feat]=20#248=20-=20=EC=BD=94=EC=8A=A4=20?= =?UTF-8?q?=EA=B7=B8=EB=A6=AC=EA=B8=B0=20=EC=A7=80=EB=8F=84=20=EC=9C=84?= =?UTF-8?q?=EC=B9=98=20=EC=84=A0=ED=83=9D=20GA=20Event=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Presentation/CourseDrawing/VC/DepartureSearchVC.swift | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Runnect-iOS/Runnect-iOS/Presentation/CourseDrawing/VC/DepartureSearchVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/CourseDrawing/VC/DepartureSearchVC.swift index 71d494a9..08d8643e 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/CourseDrawing/VC/DepartureSearchVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/CourseDrawing/VC/DepartureSearchVC.swift @@ -107,12 +107,16 @@ extension DepartureSearchVC { selectDirectionView.gesture().sink { [weak self] _ in guard let self = self else { return } SelectedInfo.shared.type = .other + + analyze(buttonName: GAEvent.Button.clickCurrentLocate) self.setLocation() }.store(in: cancelBag) selectMapView.gesture().sink { [weak self] _ in guard let self = self else { return } SelectedInfo.shared.type = .map + + analyze(buttonName: GAEvent.Button.clickMapLocate) self.setLocation() }.store(in: cancelBag) } From 5eef38ecce0a1def10e4b8e4a93b6194e3389a4c Mon Sep 17 00:00:00 2001 From: LeeMyeongJin Date: Fri, 19 Jan 2024 22:35:52 +0900 Subject: [PATCH 02/14] =?UTF-8?q?[Feat]=20#248=20-=20=EB=B3=B4=EA=B4=80?= =?UTF-8?q?=ED=95=A8=20GA=20=EC=9D=B4=EB=B2=A4=ED=8A=B8=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Views/CourseListView/ScrapCourseListView.swift | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Runnect-iOS/Runnect-iOS/Presentation/CourseStorage/Views/CourseListView/ScrapCourseListView.swift b/Runnect-iOS/Runnect-iOS/Presentation/CourseStorage/Views/CourseListView/ScrapCourseListView.swift index 5424cbf5..d8e27823 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/CourseStorage/Views/CourseListView/ScrapCourseListView.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/CourseStorage/Views/CourseListView/ScrapCourseListView.swift @@ -156,6 +156,8 @@ extension ScrapCourseListView: UICollectionViewDelegateFlowLayout { extension ScrapCourseListView: ListEmptyViewDelegate { func emptyViewButtonTapped() { + analyze(buttonName: GAEvent.Button.clickScrapCourse) + self.scrapButtonTapped.send() } } From 1b3a94bd7636d172705c4f73e8f0d80332c33e9b Mon Sep 17 00:00:00 2001 From: LeeMyeongJin Date: Sat, 20 Jan 2024 23:58:57 +0900 Subject: [PATCH 03/14] =?UTF-8?q?[Add]=20#248=20-=20=EC=A7=80=EB=8F=84=20?= =?UTF-8?q?=EC=9B=80=EC=A7=81=EC=9D=BC=EB=95=8C=20=EB=B0=9C=EC=83=9D?= =?UTF-8?q?=ED=95=98=EB=8A=94=20=EB=A9=94=EC=84=9C=EB=93=9C=20=EC=8A=A4?= =?UTF-8?q?=EC=BC=88=EB=A0=88=ED=86=A4=20=EC=BD=94=EB=93=9C=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Runnect-iOS/Global/UIComponents/MapView/RNMapView.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Runnect-iOS/Runnect-iOS/Global/UIComponents/MapView/RNMapView.swift b/Runnect-iOS/Runnect-iOS/Global/UIComponents/MapView/RNMapView.swift index f9862441..67ae4351 100644 --- a/Runnect-iOS/Runnect-iOS/Global/UIComponents/MapView/RNMapView.swift +++ b/Runnect-iOS/Runnect-iOS/Global/UIComponents/MapView/RNMapView.swift @@ -392,6 +392,9 @@ extension RNMapView: NMFMapViewCameraDelegate, NMFMapViewTouchDelegate { self.makeMarker(at: latlng) } + func mapView(_ mapView: NMFMapView, cameraWillChangeByReason reason: Int, animated: Bool) { + } + // 지도 이동 멈췄을 때 호출되는 메서드 func mapViewCameraIdle(_ mapView: NMFMapView) { let latitude = mapView.cameraPosition.target.lat From 41b869ca8b6d3cc46c85b15a39fb11b97d695d80 Mon Sep 17 00:00:00 2001 From: LeeMyeongJin Date: Sun, 21 Jan 2024 20:38:11 +0900 Subject: [PATCH 04/14] =?UTF-8?q?[Del]=20#248=20-=20=EA=B8=B0=EC=A1=B4=20m?= =?UTF-8?q?atch=20=ED=8C=8C=EC=9D=BC=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Runnect-iOS/fastlane/Matchfile | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 Runnect-iOS/fastlane/Matchfile diff --git a/Runnect-iOS/fastlane/Matchfile b/Runnect-iOS/fastlane/Matchfile deleted file mode 100644 index 8fd4c8fa..00000000 --- a/Runnect-iOS/fastlane/Matchfile +++ /dev/null @@ -1,15 +0,0 @@ -git_url("git@github.com:lsj8706/fastlane-match.git") -git_branch("runnect") - -storage_mode("git") - -type("appstore") # The default type, can be: appstore, adhoc, enterprise or development - -app_identifier(["com.runnect.Runnect-iOS"]) - -# 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 b91d46ecd20dfed5c13ca347f17e83aa55854d9b Mon Sep 17 00:00:00 2001 From: LeeMyeongJin Date: Sun, 21 Jan 2024 20:46:15 +0900 Subject: [PATCH 05/14] =?UTF-8?q?[Feat]=20#248=20-=20fastlane=20match=20?= =?UTF-8?q?=ED=8C=8C=EC=9D=BC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Runnect-iOS/fastlane/Matchfile | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 Runnect-iOS/fastlane/Matchfile diff --git a/Runnect-iOS/fastlane/Matchfile b/Runnect-iOS/fastlane/Matchfile new file mode 100644 index 00000000..891f92cd --- /dev/null +++ b/Runnect-iOS/fastlane/Matchfile @@ -0,0 +1,13 @@ +git_url("https://github.com/thingineeer/fastlane-match") + +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 db7a6596acd45f229511233a0eb01f060896f07b Mon Sep 17 00:00:00 2001 From: LeeMyeongJin Date: Sun, 21 Jan 2024 21:21:45 +0900 Subject: [PATCH 06/14] =?UTF-8?q?[Setting]=20#248=20-=20fastlane=20match?= =?UTF-8?q?=20=ED=8C=8C=EC=9D=BC=20=EB=B2=88=EB=93=A4,=20=EB=B8=8C?= =?UTF-8?q?=EB=9E=9C=EC=B9=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Runnect-iOS/fastlane/Matchfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Runnect-iOS/fastlane/Matchfile b/Runnect-iOS/fastlane/Matchfile index 891f92cd..8b8dd513 100644 --- a/Runnect-iOS/fastlane/Matchfile +++ b/Runnect-iOS/fastlane/Matchfile @@ -1,10 +1,11 @@ git_url("https://github.com/thingineeer/fastlane-match") +git_branch("Runnect") storage_mode("git") type("development") # The default type, can be: appstore, adhoc, enterprise or development -# app_identifier(["tools.fastlane.app", "tools.fastlane.app2"]) +app_identifier(["com.runnect.Runnect-iOS"]) # username("user@fastlane.tools") # Your Apple Developer Portal username # For all available options run `fastlane match --help` From 2da87991ef29e210d0dda6f439c5bf99defef887 Mon Sep 17 00:00:00 2001 From: LeeMyeongJin Date: Sun, 21 Jan 2024 21:36:23 +0900 Subject: [PATCH 07/14] =?UTF-8?q?[Setting]=20#248=20-=20=EA=B8=B0=EC=A1=B4?= =?UTF-8?q?=20App,=20Fastfile=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Runnect-iOS/fastlane/Appfile | 8 ---- Runnect-iOS/fastlane/Fastfile | 75 ----------------------------------- 2 files changed, 83 deletions(-) delete mode 100644 Runnect-iOS/fastlane/Appfile delete mode 100644 Runnect-iOS/fastlane/Fastfile diff --git a/Runnect-iOS/fastlane/Appfile b/Runnect-iOS/fastlane/Appfile deleted file mode 100644 index 83428cd7..00000000 --- a/Runnect-iOS/fastlane/Appfile +++ /dev/null @@ -1,8 +0,0 @@ -app_identifier("com.runnect.Runnect-iOS") # The bundle identifier of your app -apple_id(ENV["APPLE_ID"]) # Your Apple Developer Portal username - -itc_team_id("125287287") # App Store Connect Team ID -team_id("8Q4H7X3Q58") # Developer Portal Team ID - -# For more information about the Appfile, see: -# https://docs.fastlane.tools/advanced/#appfile diff --git a/Runnect-iOS/fastlane/Fastfile b/Runnect-iOS/fastlane/Fastfile deleted file mode 100644 index 336c397a..00000000 --- a/Runnect-iOS/fastlane/Fastfile +++ /dev/null @@ -1,75 +0,0 @@ -# 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 - desc "Set Marketing and Build version" - lane :set_version do |version| - increment_version_number( - version_number: version[:version], - xcodeproj: "./Runnect-iOS.xcodeproj" - ) - - increment_build_number( - build_number: Time.new.strftime("%Y.%m%d.%H%M"), # 2023.0703.2100 - xcodeproj: "./Runnect-iOS.xcodeproj" - ) - end - - desc "Testflight Upload" - lane :upload_testflight do |version| - version = version[:version] - - match( - type: "appstore", - app_identifier: "com.runnect.Runnect-iOS", - readonly: true - ) - - if version - puts "버전 정보: #{version}" - set_version(version: version) - else - puts "버전 입력 X" - increment_build_number( - build_number: Time.new.strftime("%Y.%m%d.%H%M"), - xcodeproj: "./Runnect-iOS.xcodeproj" - ) - end - - build_app( - output_directory:"./BuildOutputs", - scheme: "Runnect-iOS" - ) - - upload_to_testflight(skip_waiting_for_build_processing: true) - end - - desc "Match all code signing" - lane :match_read_only do - match( - type: "appstore", - app_identifier: "com.runnect.Runnect-iOS", - readonly: true - ) - - match( - type: "development", - app_identifier: "com.runnect.Runnect-iOS", - readonly: true - ) - end -end From 030c4d792d6a28e1871b78455f30e216b839b128 Mon Sep 17 00:00:00 2001 From: LeeMyeongJin Date: Sun, 21 Jan 2024 23:07:22 +0900 Subject: [PATCH 08/14] =?UTF-8?q?[Setting]=20#248=20-=20Match,=20=EB=B0=B0?= =?UTF-8?q?=ED=8F=AC,=20=ED=85=8C=ED=94=8C=20=EC=9E=90=EB=8F=99=ED=99=94?= =?UTF-8?q?=20ruby=EC=BD=94=EB=93=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Runnect-iOS/fastlane/Appfile | 8 +++ Runnect-iOS/fastlane/Fastfile | 101 +++++++++++++++++++++++++++++++++ Runnect-iOS/fastlane/Matchfile | 2 +- 3 files changed, 110 insertions(+), 1 deletion(-) create mode 100644 Runnect-iOS/fastlane/Appfile create mode 100644 Runnect-iOS/fastlane/Fastfile diff --git a/Runnect-iOS/fastlane/Appfile b/Runnect-iOS/fastlane/Appfile new file mode 100644 index 00000000..929d38e0 --- /dev/null +++ b/Runnect-iOS/fastlane/Appfile @@ -0,0 +1,8 @@ +app_identifier(ENV["APP_IDENTIFIER"]) # The bundle identifier of your app +apple_id(ENV["APPLE_ID"]) # Your Apple Developer Portal username + +itc_team_id("126815662") # App Store Connect Team ID +team_id(ENV["TEAM_ID"]) # Developer Portal Team ID + +# For more information about the Appfile, see: +# https://docs.fastlane.tools/advanced/#appfile \ No newline at end of file diff --git a/Runnect-iOS/fastlane/Fastfile b/Runnect-iOS/fastlane/Fastfile new file mode 100644 index 00000000..42cc06d2 --- /dev/null +++ b/Runnect-iOS/fastlane/Fastfile @@ -0,0 +1,101 @@ +# 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 + + + ############# Release ############# + + + desc "Set Marketing and Build version" + lane :set_version do |version| + increment_version_number( + version_number: version[:version], + xcodeproj: "./Runnect-iOS.xcodeproj" + ) + + increment_build_number( + build_number: Time.new.strftime("%Y.%m%d.%H%M"), # 2023.0703.2100 + xcodeproj: "./Runnect-iOS.xcodeproj" + ) + end + + + ############# beta ############# + + + desc "Push a new beta build to TestFlight" + lane :beta do |version| + version = version[:version] + + match( + type: "appstore", + app_identifier: "com.runnect.Runnect-iOS", + readonly: true + ) + + if version + puts "버전 정보: #{version}" + set_version(version: version) + else + puts "버전 입력 X" + increment_build_number( + build_number: Time.new.strftime("%Y.%m%d.%H%M"), + xcodeproj: "./Runnect-iOS.xcodeproj" + ) + end + + build_app( + output_directory:"./BuildOutputs", + scheme: "Runnect-iOS" + ) + + upload_to_testflight(skip_waiting_for_build_processing: true) + end + + + + ############# Device Management ############# + + desc "Register Devices" + lane :register_new_device do |options| + device_name = prompt(text: "Enter the device name: ") + device_udid = prompt(text: "Enter the device UDID: ") + device_hash = {} + device_hash[device_name] = device_udid + register_devices(devices: device_hash) + match(type: "development", force_for_new_devices: true) + end + + ############# match ############# + + + desc "Match all code signing" + lane :match_read_only do + match( + type: "appstore", + app_identifier: "com.runnect.Runnect-iOS", + readonly: true + ) + + match( + type: "development", + app_identifier: "com.runnect.Runnect-iOS", + readonly: true + ) + end +end diff --git a/Runnect-iOS/fastlane/Matchfile b/Runnect-iOS/fastlane/Matchfile index 8b8dd513..96eebba2 100644 --- a/Runnect-iOS/fastlane/Matchfile +++ b/Runnect-iOS/fastlane/Matchfile @@ -5,7 +5,7 @@ storage_mode("git") type("development") # The default type, can be: appstore, adhoc, enterprise or development -app_identifier(["com.runnect.Runnect-iOS"]) +app_identifier(ENV["APP_IDENTIFIER"]) # username("user@fastlane.tools") # Your Apple Developer Portal username # For all available options run `fastlane match --help` From 6ab6e41ea55160c8102b812fca7f7623005b296a Mon Sep 17 00:00:00 2001 From: LeeMyeongJin Date: Mon, 22 Jan 2024 12:05:31 +0900 Subject: [PATCH 09/14] =?UTF-8?q?[Setting]=20#248=20-=20=ED=85=8C=ED=94=8C?= =?UTF-8?q?=20=ED=85=8C=EC=8A=A4=ED=8A=B8=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj | 4 ++-- Runnect-iOS/Runnect-iOS/Info.plist | 6 ++++-- Runnect-iOS/fastlane/Fastfile | 2 +- Runnect-iOS/fastlane/Matchfile | 4 ++-- Runnect-iOS/fastlane/README.md | 14 +++++++++++--- 5 files changed, 20 insertions(+), 10 deletions(-) diff --git a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj index 93fb542e..09d904de 100644 --- a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj +++ b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj @@ -1710,7 +1710,7 @@ CODE_SIGN_ENTITLEMENTS = "Runnect-iOS/Runnect-iOSDebug.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1.0.8; + CURRENT_PROJECT_VERSION = 2024.0122.0337; DEVELOPMENT_TEAM = 8Q4H7X3Q58; GENERATE_INFOPLIST_FILE = NO; INFOPLIST_FILE = "Runnect-iOS/Info.plist"; @@ -1751,7 +1751,7 @@ CODE_SIGN_ENTITLEMENTS = "Runnect-iOS/Runnect-iOS.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1.0.8; + CURRENT_PROJECT_VERSION = 2024.0122.0337; DEVELOPMENT_TEAM = 8Q4H7X3Q58; GENERATE_INFOPLIST_FILE = NO; INFOPLIST_FILE = "Runnect-iOS/Info.plist"; diff --git a/Runnect-iOS/Runnect-iOS/Info.plist b/Runnect-iOS/Runnect-iOS/Info.plist index 5b9801d3..8e787af7 100644 --- a/Runnect-iOS/Runnect-iOS/Info.plist +++ b/Runnect-iOS/Runnect-iOS/Info.plist @@ -2,6 +2,8 @@ + CFBundleIconName + AppIcon CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName @@ -17,7 +19,7 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 1.0.8 + 1.0.9 CFBundleURLTypes @@ -42,7 +44,7 @@ CFBundleVersion - 2023.0712.2207 + 2024.0122.0337 LSApplicationQueriesSchemes kakaokompassauth diff --git a/Runnect-iOS/fastlane/Fastfile b/Runnect-iOS/fastlane/Fastfile index 42cc06d2..048858d2 100644 --- a/Runnect-iOS/fastlane/Fastfile +++ b/Runnect-iOS/fastlane/Fastfile @@ -18,7 +18,7 @@ default_platform(:ios) platform :ios do - ############# Release ############# + ############# version ############# desc "Set Marketing and Build version" diff --git a/Runnect-iOS/fastlane/Matchfile b/Runnect-iOS/fastlane/Matchfile index 96eebba2..829ebe7e 100644 --- a/Runnect-iOS/fastlane/Matchfile +++ b/Runnect-iOS/fastlane/Matchfile @@ -1,9 +1,9 @@ git_url("https://github.com/thingineeer/fastlane-match") -git_branch("Runnect") +git_branch("main") storage_mode("git") -type("development") # The default type, can be: appstore, adhoc, enterprise or development +type("appstore") # The default type, can be: appstore, adhoc, enterprise or development app_identifier(ENV["APP_IDENTIFIER"]) # username("user@fastlane.tools") # Your Apple Developer Portal username diff --git a/Runnect-iOS/fastlane/README.md b/Runnect-iOS/fastlane/README.md index e481f731..2b71c45e 100644 --- a/Runnect-iOS/fastlane/README.md +++ b/Runnect-iOS/fastlane/README.md @@ -23,13 +23,21 @@ For _fastlane_ installation instructions, see [Installing _fastlane_](https://do Set Marketing and Build version -### ios upload_testflight +### ios beta ```sh -[bundle exec] fastlane ios upload_testflight +[bundle exec] fastlane ios beta ``` -Testflight Upload +Push a new beta build to TestFlight + +### ios register_new_device + +```sh +[bundle exec] fastlane ios register_new_device +``` + +Register Devices ### ios match_read_only From 6cfc62e2573be7e831146d986576c05b3497d656 Mon Sep 17 00:00:00 2001 From: LeeMyeongJin Date: Mon, 22 Jan 2024 16:34:49 +0900 Subject: [PATCH 10/14] =?UTF-8?q?[Setting]=20#248=20-=20fastlane=20?= =?UTF-8?q?=ED=85=8C=EC=8A=A4=ED=8A=B8=20=ED=94=8C=EB=9D=BC=EC=9D=B4?= =?UTF-8?q?=ED=8A=B8=20=EC=9E=AC=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Runnect-iOS.xcodeproj/project.pbxproj | 18 ++++++++++++------ Runnect-iOS/Runnect-iOS/Info.plist | 4 ++-- Runnect-iOS/fastlane/Appfile | 2 +- Runnect-iOS/fastlane/Fastfile | 5 +---- Runnect-iOS/fastlane/Matchfile | 2 +- 5 files changed, 17 insertions(+), 14 deletions(-) diff --git a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj index 09d904de..b13aa0a1 100644 --- a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj +++ b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj @@ -1709,9 +1709,11 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = "Runnect-iOS/Runnect-iOSDebug.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2024.0122.0337; - DEVELOPMENT_TEAM = 8Q4H7X3Q58; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 2024.0122.1629; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 8Q4H7X3Q58; GENERATE_INFOPLIST_FILE = NO; INFOPLIST_FILE = "Runnect-iOS/Info.plist"; INFOPLIST_KEY_CFBundleDisplayName = Runnect; @@ -1732,6 +1734,7 @@ PRODUCT_BUNDLE_IDENTIFIER = "com.runnect.Runnect-iOS"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match Development com.runnect.Runnect-iOS"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; @@ -1750,9 +1753,11 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = "Runnect-iOS/Runnect-iOS.entitlements"; CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 2024.0122.0337; - DEVELOPMENT_TEAM = 8Q4H7X3Q58; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 2024.0122.1629; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 8Q4H7X3Q58; GENERATE_INFOPLIST_FILE = NO; INFOPLIST_FILE = "Runnect-iOS/Info.plist"; INFOPLIST_KEY_CFBundleDisplayName = Runnect; @@ -1773,6 +1778,7 @@ PRODUCT_BUNDLE_IDENTIFIER = "com.runnect.Runnect-iOS"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match Development com.runnect.Runnect-iOS"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; diff --git a/Runnect-iOS/Runnect-iOS/Info.plist b/Runnect-iOS/Runnect-iOS/Info.plist index 8e787af7..ba62b3e7 100644 --- a/Runnect-iOS/Runnect-iOS/Info.plist +++ b/Runnect-iOS/Runnect-iOS/Info.plist @@ -19,7 +19,7 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 1.0.9 + 1.0.10 CFBundleURLTypes @@ -44,7 +44,7 @@ CFBundleVersion - 2024.0122.0337 + 2024.0122.1629 LSApplicationQueriesSchemes kakaokompassauth diff --git a/Runnect-iOS/fastlane/Appfile b/Runnect-iOS/fastlane/Appfile index 929d38e0..8ddf4725 100644 --- a/Runnect-iOS/fastlane/Appfile +++ b/Runnect-iOS/fastlane/Appfile @@ -1,7 +1,7 @@ app_identifier(ENV["APP_IDENTIFIER"]) # The bundle identifier of your app apple_id(ENV["APPLE_ID"]) # Your Apple Developer Portal username -itc_team_id("126815662") # App Store Connect Team ID +itc_team_id(ENV["ITC_TEAM_ID"]) # App Store Connect Team ID team_id(ENV["TEAM_ID"]) # Developer Portal Team ID # For more information about the Appfile, see: diff --git a/Runnect-iOS/fastlane/Fastfile b/Runnect-iOS/fastlane/Fastfile index 048858d2..2cbd1050 100644 --- a/Runnect-iOS/fastlane/Fastfile +++ b/Runnect-iOS/fastlane/Fastfile @@ -59,10 +59,7 @@ platform :ios do ) end - build_app( - output_directory:"./BuildOutputs", - scheme: "Runnect-iOS" - ) + build_app(workspace: "Runnect-iOS.xcworkspace", scheme: "Runnect-iOS") upload_to_testflight(skip_waiting_for_build_processing: true) end diff --git a/Runnect-iOS/fastlane/Matchfile b/Runnect-iOS/fastlane/Matchfile index 829ebe7e..778caf1d 100644 --- a/Runnect-iOS/fastlane/Matchfile +++ b/Runnect-iOS/fastlane/Matchfile @@ -1,5 +1,5 @@ git_url("https://github.com/thingineeer/fastlane-match") -git_branch("main") +git_branch("master") storage_mode("git") From 3c42a4e6d13db9beb5ce45e5a1fa51f0d1b4907c Mon Sep 17 00:00:00 2001 From: LeeMyeongJin Date: Mon, 22 Jan 2024 16:41:43 +0900 Subject: [PATCH 11/14] =?UTF-8?q?[Setting]=20#248=20-=20git=20ignore=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 748d4b1c..d0030620 100644 --- a/.gitignore +++ b/.gitignore @@ -82,10 +82,14 @@ Dependencies/ # For more information about the recommended setup visit: # https://docs.fastlane.tools/best-practices/source-control/#source-control -fastlane/report.xml -fastlane/Preview.html -fastlane/screenshots/**/*.png -fastlane/test_output +**/fastlane/report.xml +**/fastlane/Preview.html +**/fastlane/screenshots/**/*.png +**/fastlane/BuildOutputs + +**/fastlane/.env.default + +**Gemfile.lock # Code Injection # After new code Injection tools there's a generated folder /iOSInjectionProject @@ -111,10 +115,9 @@ iOSInjectionProject/ Config.swift Gemfile.lock report.xml -Runnect-iOS/fastlane/.env.default ### Runniest project - git ignore setting ### -Runnect-iOS/Runnect-iOS/Info.plist +/Runnect-iOS/Runnect-iOS/Info.plist Runnect-iOS/Info.plist Info.plist From 73c6e38765eca5b2c253e900c20b86b499a8ed39 Mon Sep 17 00:00:00 2001 From: LeeMyeongJin Date: Mon, 22 Jan 2024 22:22:29 +0900 Subject: [PATCH 12/14] =?UTF-8?q?[Setting]=20#248=20-=20=ED=99=98=EA=B2=BD?= =?UTF-8?q?=EB=B3=80=EC=88=98=20=EC=84=B8=ED=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Runnect-iOS.xcodeproj/project.pbxproj | 4 ++-- Runnect-iOS/Runnect-iOS/Info.plist | 2 +- Runnect-iOS/fastlane/Fastfile | 17 +++++++++++++++++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj index b13aa0a1..4e5f85cd 100644 --- a/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj +++ b/Runnect-iOS/Runnect-iOS.xcodeproj/project.pbxproj @@ -1711,7 +1711,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 2024.0122.1629; + CURRENT_PROJECT_VERSION = 2024.0122.2217; DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 8Q4H7X3Q58; GENERATE_INFOPLIST_FILE = NO; @@ -1755,7 +1755,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 2024.0122.1629; + CURRENT_PROJECT_VERSION = 2024.0122.2217; DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = 8Q4H7X3Q58; GENERATE_INFOPLIST_FILE = NO; diff --git a/Runnect-iOS/Runnect-iOS/Info.plist b/Runnect-iOS/Runnect-iOS/Info.plist index ba62b3e7..647447a4 100644 --- a/Runnect-iOS/Runnect-iOS/Info.plist +++ b/Runnect-iOS/Runnect-iOS/Info.plist @@ -44,7 +44,7 @@ CFBundleVersion - 2024.0122.1629 + 2024.0122.2217 LSApplicationQueriesSchemes kakaokompassauth diff --git a/Runnect-iOS/fastlane/Fastfile b/Runnect-iOS/fastlane/Fastfile index 2cbd1050..9bdfebf5 100644 --- a/Runnect-iOS/fastlane/Fastfile +++ b/Runnect-iOS/fastlane/Fastfile @@ -62,6 +62,23 @@ platform :ios do build_app(workspace: "Runnect-iOS.xcworkspace", scheme: "Runnect-iOS") upload_to_testflight(skip_waiting_for_build_processing: true) + + # ✅ Slack 설정. + slack( + username: "이명진", + message: "TestFlight 배포 성공.", + icon_url: "https://is1-ssl.mzstatic.com/image/thumb/Purple116/v4/a6/68/d0/a668d049-8c1a-0e7b-19c3-287093c0a501/AppIcon-1x_U007emarketing-0-7-0-85-220.png/1024x1024bb.png", + slack_url: ENV["RUNNECT_SLACK"], + payload: { "Version": version } + ) + # ✅ 에러 처리. + error do |lane, exception, options| + slack( + message: "에러 발생 : #{exception}", + success: false, + slack_url: "https://hooks.slack.com/…" + ) + end end From 65d54145497567385e125ca2bbab3c0e943075e1 Mon Sep 17 00:00:00 2001 From: LeeMyeongJin Date: Fri, 26 Jan 2024 15:50:26 +0900 Subject: [PATCH 13/14] =?UTF-8?q?[Feat]=20#248=20-=20=EB=B0=A9=EB=AC=B8?= =?UTF-8?q?=EC=9E=90=20=EB=AA=A8=EB=93=9C=20GA=20=EC=9D=B4=EB=B2=A4?= =?UTF-8?q?=ED=8A=B8=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CourseDiscovery/Views/VC/CourseDiscoveryVC.swift | 10 ++++++---- .../CourseStorage/VC/CourseStorageVC.swift | 1 + .../Runnect-iOS/Presentation/MyPage/VC/MyPageVC.swift | 1 + 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/VC/CourseDiscoveryVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/VC/CourseDiscoveryVC.swift index a048ff5a..5e4d635f 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/VC/CourseDiscoveryVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/CourseDiscovery/Views/VC/CourseDiscoveryVC.swift @@ -162,6 +162,8 @@ extension CourseDiscoveryVC { @objc private func pushToCourseSelectVC() { guard UserManager.shared.userType != .visitor else { self.showToastOnWindow(text: "러넥트에 가입하면 코스를 업로드할 수 있어요.") + + analyze(buttonName: GAEvent.Button.clickJoinInCourseDiscovery) return } @@ -452,10 +454,10 @@ extension CourseDiscoveryVC: ScrapStateDelegate { } func didRemoveCourse(publicCourseId: Int) { -// if let index = courseList.firstIndex(where: { $0.id == publicCourseId }) { -// courseList.remove(at: index) -// self.mapCollectionView.reloadData() -// } + // if let index = courseList.firstIndex(where: { $0.id == publicCourseId }) { + // courseList.remove(at: index) + // self.mapCollectionView.reloadData() + // } // ⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️⭐️ // 원래 해당하는 데이터(index) 만 가지고, 그 데이터 삭제 후 courseList를 받아야하는데, 삭제가 이미되어버려서 if let index 부분이 안들어옴 // 왜??? 이미 데이터는 삭제가 되어서 $0.id 랑 publicCourseId 가 같은게 매치가 될 수 없어!!! diff --git a/Runnect-iOS/Runnect-iOS/Presentation/CourseStorage/VC/CourseStorageVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/CourseStorage/VC/CourseStorageVC.swift index 996a3489..748c7baf 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/CourseStorage/VC/CourseStorageVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/CourseStorage/VC/CourseStorageVC.swift @@ -216,6 +216,7 @@ extension CourseStorageVC { guard UserManager.shared.userType != .visitor else { self.showSignInRequestEmptyView() + analyze(buttonName: GAEvent.Button.clickJoinInStorage) return } diff --git a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/MyPageVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/MyPageVC.swift index 5f9ad7a5..76e3b305 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/MyPageVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/MyPage/VC/MyPageVC.swift @@ -293,6 +293,7 @@ extension MyPageVC { private func setLayout() { guard UserManager.shared.userType != .visitor else { self.showSignInRequestEmptyView() + analyze(buttonName: GAEvent.Button.clickJoinInMyPage) return } From c22101418381bf13be2399422bc216d95f6993ad Mon Sep 17 00:00:00 2001 From: LeeMyeongJin Date: Fri, 26 Jan 2024 15:53:02 +0900 Subject: [PATCH 14/14] =?UTF-8?q?[Feat]=20#248=20-=20=EC=BD=94=EC=8A=A4=20?= =?UTF-8?q?=EA=B7=B8=EB=A6=AC=EA=B8=B0=20=EB=B0=A9=EB=AC=B8=EC=9E=90=20?= =?UTF-8?q?=EB=AA=A8=EB=93=9C=20=EC=B2=98=EC=9D=8C=20=EB=B6=80=ED=84=B0=20?= =?UTF-8?q?=EC=A0=91=EA=B7=BC=20=EC=A0=9C=EC=96=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Presentation/CourseDrawing/VC/CourseDrawingHomeVC.swift | 6 ++++++ .../Presentation/CourseDrawing/VC/CourseDrawingVC.swift | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Runnect-iOS/Runnect-iOS/Presentation/CourseDrawing/VC/CourseDrawingHomeVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/CourseDrawing/VC/CourseDrawingHomeVC.swift index af6c4282..61f5e5cb 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/CourseDrawing/VC/CourseDrawingHomeVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/CourseDrawing/VC/CourseDrawingHomeVC.swift @@ -50,6 +50,12 @@ extension CourseDrawingHomeVC { // MARK: - @objc Function extension CourseDrawingHomeVC { @objc private func pushToDepartureSearchVC() { + guard UserManager.shared.userType != .visitor else { + self.showToastOnWindow(text: "러넥트에 가입하면 코스를 업로드할 수 있어요.") + + analyze(buttonName: GAEvent.Button.clickJoinInCourseDrawing) + return + } analyze(buttonName: GAEvent.Button.clickCourseDrawing) diff --git a/Runnect-iOS/Runnect-iOS/Presentation/CourseDrawing/VC/CourseDrawingVC.swift b/Runnect-iOS/Runnect-iOS/Presentation/CourseDrawing/VC/CourseDrawingVC.swift index e61af314..bc073fb2 100644 --- a/Runnect-iOS/Runnect-iOS/Presentation/CourseDrawing/VC/CourseDrawingVC.swift +++ b/Runnect-iOS/Runnect-iOS/Presentation/CourseDrawing/VC/CourseDrawingVC.swift @@ -262,7 +262,7 @@ extension CourseDrawingVC { bottomSheetVC.modalPresentationStyle = .overFullScreen bottomSheetVC.completeButtonTapAction = { [weak self] text in guard let self = self else { return } - guard handleVisitor() else { return } + guard bottomSheetVC.handleVisitor() else { return } // 사실상 여기까지 못 들어오는게 맞음 (코스 그리기에서 막았다.) self.courseName = text self.mapView.capturePathImage() self.dismiss(animated: false)