Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
64994d3
docs: #487 fastfile ์ˆ˜์ •
y-eonee Aug 9, 2026
ebf22c3
Merge pull request #488 from 36-APPJAM-HEARTZ/setting/#487-fastfile-์ˆ˜์ •
y-eonee Aug 9, 2026
8ea99f2
docs: #490 releasenote ์„ค์ • ์ถ”๊ฐ€ ๋ฐ apikey ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •
y-eonee Aug 18, 2026
51df8e1
docs: #490 1.2.4 ๋ฆด๋ฆฌ์ฆˆ๋…ธํŠธ
y-eonee Aug 18, 2026
3b40c0e
feat: #491 ๋ฏน์ŠคํŒจ๋„ ์ด๋ฒคํŠธ ์ถ”๊ฐ€
y-eonee Aug 18, 2026
88e521a
feat: #491 ๋ฏน์ŠคํŒจ๋„ ์‹ฌ๊ธฐ
y-eonee Aug 18, 2026
9ac9d3a
chore: #491 ์ฃผ์„ ์‚ญ์ œ
y-eonee Aug 18, 2026
90eb8b1
Merge pull request #492 from 36-APPJAM-HEARTZ/feat/#491-๊ณตํ†ต์—ฌ์ •-๋ฏน์ŠคํŒจ๋„
y-eonee Aug 18, 2026
241aa09
docs: #490 ์ž๋™ ์ถœ์‹œ off, ๋นŒ๋“œ๋ฒˆํ˜ธ ๋‚ ์งœ+์‹œ๊ฐ„์œผ๋กœ ์ˆ˜์ •
y-eonee Aug 18, 2026
4a871f7
setting: #490 ๋ฒ„์ „ 1.2.4๋กœ ์ˆ˜์ •
y-eonee Aug 18, 2026
46fca56
Merge remote-tracking branch 'origin/docs/#490-fastfile-์ˆ˜์ •' into docsโ€ฆ
y-eonee Aug 18, 2026
325f190
Merge pull request #493 from 36-APPJAM-HEARTZ/docs/#490-fastfile-์ˆ˜์ •
y-eonee Aug 18, 2026
3e8df86
refactor: #494 ์ข‹์•„์š” true์ผ ๋•Œ๋งŒ ์ง‘๊ณ„๋˜๋„๋ก ์ˆ˜์ •
y-eonee Aug 18, 2026
435b0de
docs: #494 yml ํŒŒ์ผ ์ˆ˜์ •
y-eonee Aug 18, 2026
ad65dc8
Merge pull request #495 from 36-APPJAM-HEARTZ/chore/#494-์ˆ˜์ •
y-eonee Aug 18, 2026
d3eaf42
hotfix: #496 release matchํŒŒ์ผ ์ˆ˜์ •
y-eonee Aug 18, 2026
8af58be
Merge pull request #497 from 36-APPJAM-HEARTZ/hotfix/#496-matchํŒŒ์ผ-์ˆ˜์ •
y-eonee Aug 18, 2026
fedf30d
Merge branch 'release' into chore/#499-deploy
y-eonee Aug 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions ByeBoo-iOS/ByeBoo-iOS.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.3.0;
MARKETING_VERSION = 1.2.4;
PRODUCT_BUNDLE_IDENTIFIER = "com.heartz.ByeBoo-iOS";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
Expand All @@ -352,7 +352,7 @@
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = "ByeBoo-iOS/ByeBoo-Prod.entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 18;
DEVELOPMENT_TEAM = "";
Expand All @@ -371,11 +371,11 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.3.0;
MARKETING_VERSION = 1.2.4;
PRODUCT_BUNDLE_IDENTIFIER = "com.heartz.ByeBoo-iOS";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match Development com.heartz.ByeBoo-iOS";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match AppStore com.heartz.ByeBoo-iOS";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
import Combine
import UIKit

import Mixpanel

final class NotificationsViewController: BaseViewController {

private let rootView = NoticesView()
Expand All @@ -30,6 +32,8 @@ final class NotificationsViewController: BaseViewController {
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
viewModel.action(.viewWillAppear)

Mixpanel.mainInstance().track(event: AlarmEvents.Name.alarmMain)
}

override func viewDidLoad() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ extension CommonQuestHistoryViewController {
rootView.configure(
answerID: answerID,
question: entity.question,
writtenAt: ServerDateFormatter.shared.relativeTimeString(from: answer.writtenAt) ?? "", //TODO: ViewModel๋กœ ์ˆ˜์ •
writtenAt: ServerDateFormatter.shared.relativeTimeString(from: answer.writtenAt) ?? "",
profileIcon: ProfileIcon.image(for: answer.profileIcon) ?? .relievedBadge,
nickname: answer.writer,
content: answer.content,
Expand Down Expand Up @@ -303,6 +303,10 @@ extension CommonQuestHistoryViewController {
case .success(let result):
let entity = result.entity
self?.rootView.questContentView.updateUI(likeCount: entity.likeCount, isLiked: entity.isLiked)

if entity.isLiked {
Mixpanel.mainInstance().track(event: CommonJourneyEvents.Name.commonJourneyLike)
}
case .failure(let error):
ByeBooLogger.error(error)
}
Expand All @@ -319,6 +323,8 @@ extension CommonQuestHistoryViewController {
case .success:
ByeBooLogger.debug("๋Œ“๊ธ€ ์ž…๋ ฅ ์„ฑ๊ณต")
self.scrollToComment()

Mixpanel.mainInstance().track(event: CommonJourneyEvents.Name.commonJourneyComment)
case .failure(let error):
ByeBooLogger.debug(error)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
import Combine
import UIKit

import Mixpanel

final class CommonQuestMyAnswersViewController: BaseViewController {

private let rootView = CommonQuestMyAnswersView()
Expand Down Expand Up @@ -112,6 +114,10 @@ extension CommonQuestMyAnswersViewController {
likeCount: entity.likeCount,
isLiked: entity.isLiked
)

if entity.isLiked {
Mixpanel.mainInstance().track(event: CommonJourneyEvents.Name.commonJourneyLike)
}
case .failure(let error):
ByeBooLogger.error(error)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
import Combine
import UIKit

import Mixpanel

final class CommonQuestReplyViewController: BaseViewController {

private let rootView = CommonQuestReplyView()
Expand Down Expand Up @@ -106,6 +108,8 @@ extension CommonQuestReplyViewController {
case .success:
ByeBooLogger.debug("๋‹ต๊ธ€ ์ž…๋ ฅ ์„ฑ๊ณต")
self.scrollToComment()

Mixpanel.mainInstance().track(event: CommonJourneyEvents.Name.commonJourneyComment)
case .failure(let error):
ByeBooLogger.debug(error)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,10 @@ extension CommonQuestViewController {
case .success(let result):
let entity = result.entity
self?.updateLikeCount(answerID: result.answerID, likeCount: entity.likeCount, isLiked: entity.isLiked)

if entity.isLiked {
Mixpanel.mainInstance().track(event: CommonJourneyEvents.Name.commonJourneyLike)
}
case .failure(let error):
ByeBooLogger.error(error)
}
Expand Down
14 changes: 14 additions & 0 deletions ByeBoo-iOS/ByeBoo-iOS/Presentation/Mixpanel/AlarmEvents.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
//
// AlarmEvents.swift
// ByeBoo-iOS
//
// Created by ์ด๋‚˜์—ฐ on 8/18/26.
//

import Mixpanel

struct AlarmEvents {
enum Name {
static let alarmMain = "alarm_main"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,7 @@ struct CommonJourneyEvents {
static let commonJourneyWriteClick = "common_journey_write_click"
static let commonJourneyWriteSuccess = "common_journey_write_success"
static let commonJourneyOthersAnswerPageview = "common_journey_others_answer_pageview"
static let commonJourneyComment = "common_journey_comment"
static let commonJourneyLike = "common_journey_like"
}
}
36 changes: 20 additions & 16 deletions ByeBoo-iOS/fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,20 @@ XCODEPROJ = "ByeBoo-iOS.xcodeproj"
SCHEME = "ByeBoo-iOS"

platform :ios do
def prepare_ci_and_signing
app_store_connect_api_key(
key_id: ENV['APP_STORE_CONNECT_API_KEY_KEY_ID'],
issuer_id: ENV['APP_STORE_CONNECT_API_KEY_ISSUER_ID'],
key_content: ENV['APP_STORE_CONNECT_API_KEY_CONTENT'],
is_key_content_base64: true
)
setup_ci
match(type: "appstore")
update_project_team(
path: XCODEPROJ,
teamid: ENV['TEAM_ID']
)
end

def notify_discord_success(lane_name, build_number)
version = get_version_number(xcodeproj: XCODEPROJ)
Expand All @@ -41,21 +55,10 @@ platform :ios do
)
end

def prepare_ci_and_signing
setup_ci
match(type: "appstore")
update_project_team(
path: XCODEPROJ,
teamid: ENV['TEAM_ID']
)
end

# ๋‚ ์งœ+์‹œ๊ฐ„ ๊ธฐ๋ฐ˜ ๋นŒ๋“œ ๋ฒˆํ˜ธ (์˜ˆ: 2026081815 -> 2026๋…„ 08์›” 18์ผ 15์‹œ)
# ์žฌ๋ฐฐํฌ ์‹œ์—๋„ ํ•ญ์ƒ ์ด์ „๋ณด๋‹ค ํฐ ๊ฐ’์ด ๋˜๋„๋ก YYMMDDHM์œผ๋กœ ์‚ฌ์šฉ
def next_build_number
latest_build = latest_testflight_build_number(
app_identifier: ENV['APP_IDENTIFIER'],
initial_build_number: 0
)
latest_build + 1
Time.now.getlocal("+09:00").strftime("%Y%m%d%H%M").to_i # ํ•œ๊ตญ์‹œ๊ฐ„ ๊ธฐ์ค€
end

desc "Push a new beta build to TestFlight"
Expand Down Expand Up @@ -103,10 +106,11 @@ platform :ios do

upload_to_app_store(
skip_screenshots: true,
skip_metadata: true,
skip_metadata: false,
skip_app_version_update: true,
force: true,
submit_for_review: true, # ์ž๋™์œผ๋กœ ์‹ฌ์‚ฌ ์ œ์ถœ
automatic_release: true, # ์‹ฌ์‚ฌ ํ†ต๊ณผ ํ›„ ์ž๋™ ์ถœ์‹œ
automatic_release: false,
precheck_include_in_app_purchases: false,
submission_information: {
add_id_info_uses_idfa: false, # AdMob ์ถ”๊ฐ€ ์‹œ true๋กœ ๋ณ€๊ฒฝ
Expand Down
2 changes: 2 additions & 0 deletions ByeBoo-iOS/fastlane/metadata/ko/release_notes.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
- ๊ณตํ†ต ์—ฌ์ • ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๋Œ“๊ธ€๊ณผ ์ข‹์•„์š”๋ฅผ ๋‚จ๊ธฐ๋ฉฐ ์ด๋ณ„์˜ ์•„ํ””์„ ๊ณต์œ ํ•˜๊ณ , ์„œ๋กœ ์œ„๋กœํ•  ์ˆ˜ ์žˆ์–ด์š”!
- ๋ฉ”์ธํŽ˜์ด์ง€์— ์•Œ๋ฆผํ•จ์ด ์ถ”๊ฐ€๋์–ด์š”! ์ด์ œ ๋ณด๋ฆฌ๋ฅผ ๋” ์ž์ฃผ ๋งŒ๋‚  ์ˆ˜ ์žˆ์–ด์š”!
Loading