Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
6ccd7c3
[REFACTOR] Composition Root 도입
woolnd Feb 20, 2026
be47bd0
[REFACTOR] 개발/운영 환경분리(xcconfig)
woolnd Feb 20, 2026
b373e54
[REFACTOR] 스플래쉬 배경 수정 및 AppConfig 적용
woolnd Feb 20, 2026
d41d70b
[CHORE] fastlane App Store 업로드 설정
woolnd Feb 20, 2026
084f087
[CHORE] gitignore 수정
woolnd Feb 20, 2026
4add129
[CHORE] gitignore 수정
woolnd Feb 20, 2026
937a78a
Merge pull request #274 from Atcha-Project/refactor/#273
woolnd Feb 20, 2026
8d109b1
ci: develop 브랜치 iOS CI 설정
woolnd Feb 20, 2026
edf6e01
Merge pull request #275 from Atcha-Project/woolnd-patch-2
woolnd Feb 20, 2026
a57f250
[CI] develop 브랜치 iOS CI 설정
woolnd Feb 20, 2026
a342a17
Merge pull request #276 from Atcha-Project/woolnd-patch-3
woolnd Feb 20, 2026
a9ea087
Delete .github/workflows/ios-ci.yml
woolnd Feb 20, 2026
659edfe
Modify iOS CI workflow for simulator destination
woolnd Feb 20, 2026
f2789b9
[CI] iOS CI 시뮬레이터 부분 수정
woolnd Feb 20, 2026
67b50c1
[CI] iOS CI 시뮬레이터 부분 수정
woolnd Feb 20, 2026
1a530e1
[CI] iOS CI 시뮬레이터 부분 수정
woolnd Feb 20, 2026
e0c8fd3
[CI] iOS CI 시뮬레이터 부분 수정
woolnd Feb 20, 2026
4d1720f
[CI] iOS CI 시뮬레이터 부분 수정
woolnd Feb 20, 2026
63caa37
[CI] iOS CI 시뮬레이터 부분 수정
woolnd Feb 20, 2026
7fb1b63
[CI] iOS CI 시뮬레이터 부분 수정
woolnd Feb 20, 2026
dad0ebe
[CI] iOS CI 버전 수정
woolnd Feb 20, 2026
79ebbe5
[CI] iOS CI 시뮬레이터 부분 수정
woolnd Feb 20, 2026
4fc4427
[CI] iOS 버전 부분 수정
woolnd Feb 20, 2026
005d3e0
[CI] TMapSDK 빌드 제외
woolnd Feb 20, 2026
49844ec
[CI] DevConfig 더미 추가
woolnd Feb 20, 2026
b06bae6
[CI] iOS CI 시뮬레이터 부분 수정
woolnd Feb 20, 2026
05c141b
[CI] iOS SDK 버전 고정
woolnd Feb 20, 2026
be4de1b
Merge branch 'develop' into woolnd-patch-5
woolnd Feb 20, 2026
2b2768d
[CI] iOS 버전 부분 수정
woolnd Feb 20, 2026
50a8ff3
[CI] iOS CI 시뮬레이터 버전 수정
woolnd Feb 20, 2026
279d926
[CI] Config 더미 추가
woolnd Feb 20, 2026
2fadb9e
[CI] iOS SDK 설치 코드 추가
woolnd Feb 20, 2026
6bed6b0
[CI] SDK 위치 수정
woolnd Feb 20, 2026
3f924e3
[CI] Debug 스키마 변경
woolnd Feb 20, 2026
64cc6c1
[CI] 오타 수정
woolnd Feb 20, 2026
91e6fd7
[CI] BaseConfig 추가
woolnd Feb 20, 2026
9231933
[CI] 제외 프레임워크 위치 수정
woolnd Feb 20, 2026
82fb9ba
[BUGFIX] 오타 및 오류 수정
woolnd Feb 20, 2026
e3b2053
[BUGFIX] LockScreenDIContainer 오타 수정
woolnd Feb 20, 2026
3c6c63a
Merge remote-tracking branch 'origin/develop' into woolnd-patch-5
woolnd Feb 20, 2026
f7c256b
Merge pull request #278 from Atcha-Project/woolnd-patch-5
woolnd Feb 20, 2026
d45fd35
[REFACTOR] 스플래쉬 배경 색상 수정
woolnd Feb 21, 2026
14f5d62
[CD] iOS CD 초기 구현
woolnd Feb 23, 2026
37297dd
Merge pull request #279 from Atcha-Project/woolnd-patch-6
woolnd Feb 23, 2026
ce0a9e9
Merge pull request #280 from Atcha-Project/develop
woolnd Feb 23, 2026
4e149b7
[CI] CI 진행 타이밍 수정
woolnd Feb 23, 2026
e27b976
Update ios-cd-stage.yml
woolnd Feb 23, 2026
7d7e798
[CD] Fastlane 파일 내용 순서 수정
woolnd Feb 23, 2026
81200d0
Merge remote-tracking branch 'refs/remotes/origin/env/dev'
woolnd Feb 23, 2026
eecdf9d
[CD] Config Base64로 변경
woolnd Feb 23, 2026
9e4fb6d
[REFACTOR] Fastfile, Matchfile 수정
woolnd Feb 23, 2026
a3543d5
[REFACTOR] 인증서 수정
woolnd Feb 23, 2026
52c596e
[CD] Fastlane 키체인 관련 코드 추가
woolnd Feb 23, 2026
ead45d1
[CD] CD 타이밍 수정
woolnd Feb 23, 2026
c5c4628
[CD] CD 타이밍 수정
woolnd Feb 23, 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
72 changes: 72 additions & 0 deletions .github/workflows/ios-cd-stage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# This workflow will build a Swift project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-swift

name: iOS CD (Stage -> TestFlight)

on:
push:
branches: ["env/stage"]

jobs:
deploy-testflight:
runs-on: macos-15

environment: TestFlight-Deploy

steps:
- name: Checkout Code
uses: actions/checkout@v4

- name: Select Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: "16.2"

- name: Install iOS SDK (Retry up to 3 times)
run: |
for i in {1..3}; do
echo "Attempt $i to download iOS platform..."
sudo xcodebuild -downloadPlatform iOS && break || {
if [ $i -lt 3 ]; then
echo "Attempt $i failed. Retrying in 10 seconds..."
sleep 10
else
echo "All 3 attempts failed. Moving on (continue-on-error is set)."
exit 1
fi
}
done

- name: Create Real Configs
run: |
# Xcode가 찾는 경로: /Users/runner/work/Atcha-iOS/Atcha-iOS/StageConfig.xcconfig
# checkout 후 현재 위치가 이미 그 경로이므로 바로 생성
echo "${{ secrets.LIVE_CONFIG_CONTENT }}" | base64 --decode > "LiveConfig.xcconfig"
echo "${{ secrets.DEV_CONFIG_CONTENT }}" | base64 --decode > "DevConfig.xcconfig"
echo "${{ secrets.STAGE_CONFIG_CONTENT }}" | base64 --decode > "StageConfig.xcconfig"
echo "${{ secrets.BASE_CONFIG_CONTENT }}" | base64 --decode > "BaseConfig.xcconfig"

echo "=== 파일 위치 확인 ==="
pwd
ls *.xcconfig
echo "=== StageConfig 내용 ==="
cat StageConfig.xcconfig

- name: Install Fastlane
run: bundle install

- name: Build and Upload to TestFlight
env:
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.MATCH_GIT_TOKEN }}
APP_STORE_CONNECT_API_KEY_ISSUER_ID: ${{ secrets.ASC_ISSUER_ID }}
APP_STORE_CONNECT_API_KEY_KEY_ID: ${{ secrets.ASC_KEY_ID }}
APP_STORE_CONNECT_API_KEY_KEY: ${{ secrets.ASC_KEY_CONTENT }}
GYM_SCHEME: "Atcha-Stage"
GYM_CONFIGURATION: "Release"
GYM_EXPORT_METHOD: "app-store"
GYM_XC_ARGS: "PROVISIONING_PROFILE_SPECIFIER='match AppStore com.atcha.iOS' CODE_SIGN_STYLE=Manual"
FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT: 120

# Fastfile에 작성된 테플 업로드용 lane 실행 (이름은 설정하신 대로 맞춰주세요)
run: bundle exec fastlane beta
64 changes: 64 additions & 0 deletions .github/workflows/ios_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# This workflow will build a Swift project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-swift

name: iOS CI

on:
pull_request:
branches: ["env/dev", "env/stage", "env/live"]

jobs:
build:
runs-on: macos-15
steps:
- uses: actions/checkout@v4

- name: Select Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: "16.2"

- name: Debug toolchain
run: |
xcodebuild -version
xcodebuild -showsdks
xcrun simctl list runtimes

- name: Install iOS SDK
# sudo를 붙여서 확실하게 권한을 주고 실행합니다.
run: sudo xcodebuild -downloadPlatform iOS

- name: Create Dummy Configs
run: |
# 프로젝트 폴더 생성
mkdir -p Atcha-iOS/Atcha-iOS

# 생성할 파일 목록 (BaseConfig 추가!)
CONFIG_FILES=("BaseConfig.xcconfig" "DevConfig.xcconfig" "StageConfig.xcconfig" "LiveConfig.xcconfig")

for FILE in "${CONFIG_FILES[@]}"; do
# 1. 루트 경로
echo "// Dummy Config for CI" > "$FILE"
# 2. 첫 번째 하위 경로
echo "// Dummy Config for CI" > "Atcha-iOS/$FILE"
# 3. 두 번째 하위 경로 (사진에서 본 실제 위치)
echo "// Dummy Config for CI" > "Atcha-iOS/Atcha-iOS/$FILE"
echo "Created $FILE in multiple locations"
done

- name: Build (Any iOS Device)
run: |
xcodebuild \
-project Atcha-iOS.xcodeproj \
-scheme Atcha-Dev \
-configuration Debug \
-destination 'generic/platform=iOS' \
-sdk iphoneos \
IPHONEOS_DEPLOYMENT_TARGET=16.1 \
FRAMEWORK_SEARCH_PATHS="$(inherited) $PWD $PWD/Atcha-iOS $PWD/Atcha-iOS/Atcha-iOS" \
SWIFT_INCLUDE_PATHS="$(inherited) $PWD $PWD/Atcha-iOS $PWD/Atcha-iOS/Atcha-iOS" \
CODE_SIGNING_ALLOWED=NO \
CODE_SIGNING_REQUIRED=NO \
CODE_SIGN_IDENTITY="" \
AD_HOC_CODE_SIGNING_ALLOWED=YES \
clean build
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -109,5 +109,9 @@ iOSInjectionProject/
# End of https://www.toptal.com/developers/gitignore/api/swift,xcode,cocoapods

*.xcconfig
DevConfig.xcconfig
StageConfig.xcconfig
LiveConfig.xcconfig
BaseConfig.xcconfig

Atcha-iOS/DesignSource/AtchaImage/Icon.xcassets/Onboarding/.DS_Store
Loading