Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
1334ebd
add: Add issue templates
0Hooni Mar 16, 2025
84e71db
[ADD]: PR 템플릿 추가
0Hooni Mar 16, 2025
3fea2e1
[REFACTOR]: RxKakao SDK 삭제, Kakao User SDK 추가
dongglehada Mar 17, 2025
5499aca
[REFACTOR]: KakaoSDK로 수정
0Hooni Mar 17, 2025
726ecaa
[STYLE]: 불필요한 코드 및 주석 제거
0Hooni Mar 17, 2025
4616ac5
[REFACTOR]: SceneDelegate에서 KakaoSDK 사용하도록 수정
0Hooni Mar 17, 2025
510535f
[REFACTOR]: rx 걷어내는 작업 일부 진행 및 작업 양도를 위한 커밋
0Hooni Mar 18, 2025
8de2ea1
[REFACTOR]: 메서드 분리, 주석 추가, error수정 및 일부 내용 수정의 커밋
dongglehada Mar 21, 2025
1a3197d
[FIX]: kakao 로그인 시 앱 사용을 위한 Schemes 추가
dongglehada Mar 23, 2025
ffc5396
Merge pull request #80 from PopPool/refactor/#79-rxkakaosdk-제거를-위한-조사
0Hooni Mar 30, 2025
a941d63
[REFACTOR] : NMaps SPM 추가 및 지도화면 NaverMap 대체
zzangzzangguy Mar 19, 2025
2a93537
[REAFACTOR] : 관리자페이지 수정시 이미지 중첩 수정,스토어 등록시 유효성검사 수정
zzangzzangguy Mar 24, 2025
2bfc482
[REFACTOR] 🔄 SPM화 해둔 네이버맵이아닌 공식 배포중인 SPM 채택후 반영
zzangzzangguy Mar 24, 2025
7821d39
[REFACTOR] 카테고리탭에서 지역탭이 겹쳐보이던 이슈 수정
zzangzzangguy Mar 26, 2025
21c6036
[FIX] 등록시 설명란에서 빈공간탭시 키보드 내려가도록 추가
zzangzzangguy Mar 27, 2025
86f2abd
[REFACTOR] 사용되지않는 Google SDK 제거
zzangzzangguy Mar 27, 2025
f7e5439
remove/#93: 컨벤션 파일 삭제
0Hooni Mar 30, 2025
4795a0a
chore/#93: 빌드 파일 수정
0Hooni Mar 30, 2025
847a725
chore/#93: 프로젝트 세팅 수정
0Hooni Mar 30, 2025
6cec4f8
add/#93: swiftlint rule 파일 추가
0Hooni Mar 30, 2025
5782305
chore/#93: SwiftLint rule 파일 기본 세팅
0Hooni Mar 31, 2025
8f392db
[FIX] 필터바텀시트뷰에서 딤드영역 탭시 제대로 닫히지않던 문제 수정
zzangzzangguy Mar 30, 2025
3e50213
feat/#92: URL을 사용한 이미지 다운로드 기능 초기 구현
dongglehada Mar 31, 2025
ae607ab
Merge branch 'dev' of https://github.com/PopPool/iOS-renew into refac…
dongglehada Mar 31, 2025
1541948
remove#93: 불필요한 파일 삭제
0Hooni Mar 31, 2025
c3ad17a
feat/#92: NSCache 적용
dongglehada Mar 31, 2025
42d4a95
feat/#92: 메모리 캐시 스토리지 분리 및 자동 캐시 데이터 제거 로직 적용 및 문서화
dongglehada Mar 31, 2025
8e0e591
docs/#93: SwiftLint 문법 수정
0Hooni Mar 31, 2025
395729f
feat/#92: DiskStorage 적용
dongglehada Apr 1, 2025
b529e24
feat/#92: 이미지 리사이징 적용
dongglehada Apr 1, 2025
ed0e235
[FIX] 필터바텀시트뷰에서 딤드영역 탭시 제대로 닫히지않던 문제 수정
zzangzzangguy Mar 30, 2025
6498cf0
fix #95: 잔존해있던 CoreLocation 참조문 제거
zzangzzangguy Apr 1, 2025
c7929cc
fix/#95: 맵가이드뷰컨트롤러 복구
zzangzzangguy Apr 2, 2025
03eb710
feat/#95 NMFMapViewDelegateProxy 주석 추가
zzangzzangguy Apr 2, 2025
a4d4d94
fix/#95 : 맵가이드뷰컨트롤러 축약어 수정
zzangzzangguy Apr 2, 2025
ab6df32
feat/#93: Swiftlint 자동 수정 깃허브 액션 추가
0Hooni Apr 2, 2025
3fd8a70
remove/#93: 사용하지 않는 테스트 타겟 제거
0Hooni Apr 2, 2025
e3cdf10
feat/#93: CI 깃허브 액션 추가
0Hooni Apr 2, 2025
4420daf
fix/#93: CI가 깃액션 봇의 커밋은 무시하도록 수정
0Hooni Apr 2, 2025
2fcd2cf
chore/#93: Debug.xcconfig로 대체하기 위한 빌드 설정 수정
0Hooni Apr 2, 2025
37a7022
chore/#93: gitignore 수정 및 정리
0Hooni Apr 2, 2025
46b9311
refactor/#93: 변경 된 키 저장 방식에 맞게 키 호출 코드 수정
0Hooni Apr 2, 2025
7af96b8
refactor/#93: GitHubActions 파일 추가 수정
0Hooni Apr 2, 2025
fb7918f
chore/#93: CI에 Debug.xcconfig 생성 스텝 추가
0Hooni Apr 2, 2025
b00d50b
refactor/#93: Secrets.swift 제거
0Hooni Apr 2, 2025
f958ff6
refactor/#93: Secrets enum → KeyPath enum 변경 대응
0Hooni Apr 2, 2025
334a4a3
chore/#93: CI 태스크 이름 수정
0Hooni Apr 2, 2025
2253ee8
test/#93: CI 테스트를 위한 임시 swiftlint룰 적용
0Hooni Apr 2, 2025
3d31395
refactor/#93: CI, AutoCorrect 통합
0Hooni Apr 2, 2025
05e9118
fix/#93: 린트 자동수정 명령어 수정
0Hooni Apr 2, 2025
eac393c
fix/#93: 린트 자동수정 에러 수정 및 빌드파일 경로 탐지 추가
0Hooni Apr 2, 2025
ee45fe3
fix/#93: 이슈번호 검출 정규표현식 개선 및 린트 자동수정 커밋 에러 해결
0Hooni Apr 2, 2025
50f48c8
fix/#93: 자동수정 커밋 액션 No upstream branch 에러 수정
0Hooni Apr 2, 2025
13b2b64
style/#93: Apply SwiftLint autocorrect
github-actions[bot] Apr 2, 2025
fb9b4d8
Merge pull request #95 from PopPool/feat/#94-Map-SheetView-FIX
zzangzzangguy Apr 3, 2025
5decd58
Merge branch 'dev' of https://github.com/PopPool/iOS into style/#93-a…
0Hooni Apr 3, 2025
82931e9
refactor/#93: Swiftlint 에러 수정
0Hooni Apr 3, 2025
81f4aaf
style/#93: Apply SwiftLint autocorrect
github-actions[bot] Apr 3, 2025
d613755
fix/#82: 패키지 오류 해결
0Hooni Apr 4, 2025
17ac190
style/#82: 코드 스타일에 맞게 상단 주석 제거
0Hooni Apr 4, 2025
612fbde
fix/#82: 상단 배너에 사진이 한장일 때 무한 스크롤 및 스크롤 방지
0Hooni Apr 4, 2025
68e8644
fix/#82: 배너 사진이 1장일 때 델리게이트 메서드 로직 문제 해결
0Hooni Apr 4, 2025
7ce8f30
docs/#82: 이슈 해결 중 추가 발견한 문제 주석 추가
0Hooni Apr 4, 2025
7177fc0
style/#93: 코드 스타일에 맞게 일부 코드 수정
0Hooni Apr 4, 2025
9ebc3b6
Merge pull request #98 from PopPool/style/#93-apply-CI-with-swiftlint
0Hooni Apr 5, 2025
aa8e7c1
Merge branch 'dev' into fix/#82-block-swipe-when-carousel-have-one-image
0Hooni Apr 5, 2025
4b8a89b
style/#82: Apply SwiftLint autocorrect
github-actions[bot] Apr 5, 2025
872f289
Merge pull request #100 from PopPool/fix/#82-block-swipe-when-carouse…
0Hooni Apr 5, 2025
e8d2883
fix/#93: CI가 dev에 push 될때는 돌아가지 않도록 수정
0Hooni Apr 5, 2025
6db82d3
refactor/#92: Kingfisher 제거 및 관련 코드 제거, 대치
dongglehada Apr 6, 2025
d80a512
fix/#92: DiskStorage TImer 삭제
dongglehada Apr 6, 2025
808b414
Merge branch 'dev' of https://github.com/PopPool/iOS-renew into refac…
dongglehada Apr 7, 2025
72b9de6
refactor/#92: import Kingfisher 제거 및 빌드 가능하게 코드 일부 수정
dongglehada Apr 7, 2025
8b2674e
refactor/#92: import Kingfisher 제거
dongglehada Apr 7, 2025
ec1848b
style/#92: Apply SwiftLint autocorrect
github-actions[bot] Apr 7, 2025
20e3247
Merge pull request #97 from PopPool/refactor/#92-Replacing-Kingfisher…
dongglehada Apr 8, 2025
e09c017
refactor: CI가 타겟하는 브랜치 이름을 변경
0Hooni Apr 8, 2025
c193b05
refactor: CI 수정
0Hooni Apr 8, 2025
c40ee06
feat: TestFlight 배포 자동화 yml 파일 추가
0Hooni Apr 9, 2025
bf40154
chore: 자동 배포를 위한 암호화된 파일 추가
0Hooni Apr 9, 2025
96ae05e
Merge branch 'develop' of https://github.com/PopPool/iOS into develop
0Hooni Apr 9, 2025
529850f
fix/#103: 환경 변수를 찾지 못하는 문제 해결
0Hooni Apr 9, 2025
841c9ed
fix/#103: 프로비저닝 경로 이상 문제 해결
0Hooni Apr 9, 2025
101b203
fix/#103: 파일 경로 다시 수정
0Hooni Apr 9, 2025
691c3ca
fix/#103: 배포 자동화 문제 해결
0Hooni Apr 9, 2025
60ff137
fix/#103: 빠져있던 추출 옵션 추가 및 파일 추적 경로 변경
0Hooni Apr 9, 2025
e7aea50
fix/#103: ipa 파일명 추적하도록 수정
0Hooni Apr 9, 2025
93827b1
fix/#103: 빌드 번호 중복 문제 해결
0Hooni Apr 9, 2025
0be45d3
fix/#103: info.plsit 경로 문제 해결
0Hooni Apr 9, 2025
831807d
fix/#103: 빌드 버전 자동 증가 run script 추가
0Hooni Apr 9, 2025
50c8334
fix/#103: 빌드번호 증가 Run Script 수정
0Hooni Apr 9, 2025
ad0c4eb
chore/#103: 빌드 번호 echo하도록 추가
0Hooni Apr 9, 2025
ec97e62
fix/#103: 빌드 번호 증가를 CD에 맡기도록 원복
0Hooni Apr 9, 2025
c8447cc
chore/#103: 주석 추가
0Hooni Apr 9, 2025
8233967
fix/#103: plist경로 문제 해결
0Hooni Apr 9, 2025
d5333c1
fix/#103: 번들 버전 없으면 추가되도록 수정
0Hooni Apr 9, 2025
c18a7d4
fix/#103: 설마 너냐
0Hooni Apr 9, 2025
58205d2
fix/#103: 자동 빌드 번호 수정 정상화(찐막)
0Hooni Apr 9, 2025
6d463b9
fix/#103: agvtool을 이용해서 빌드 범프를 하도록 수정
0Hooni Apr 10, 2025
d674ede
fix/#103: 야랄 커밋 시작함
0Hooni Apr 10, 2025
da384d9
fix/#103: info.plist 수정 및 디스코드 웹훅 추가
0Hooni Apr 10, 2025
d40ceba
fix/#103: 수동 빌드 넘버링으로 해야될것 같음... ㅠㅠ
0Hooni Apr 10, 2025
3ffa201
fix/#103: 여러가지 에러 수정(설명 확인)
0Hooni Apr 10, 2025
3b064c4
debug/#103: xcconfig가 잘 적용되지 않는것으로 보이는 문제 디버깅중
0Hooni Apr 10, 2025
a4f3b0a
refactor/#103: 불필요한 step 제거 및 embed 내용 수정
0Hooni Apr 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/이슈-이름.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: 이슈 이름
about: 팝풀 기본 템플릿
title: ''
labels: ''
assignees: ''

---

## 🤔 작업 배경

작업 배경을 적어주세요

## 📝 작업 내용

- 작업 내용을 적어주세요

## 👀 ETC (추후 개발해야 할 것, 참고자료 등)

<!-- 없으시면 제목도 같이 없앤 후 업로드해주세요 -->
15 changes: 15 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## 📌 이슈

- #이슈번호

## ✅ 작업 사항

- [ ] 작업 사항을 정리해주세요

## 🚀 테스트 방식

<!-- 구현 기능을 확인하기 위한 방법 정리 -->

## 👀 ETC (추후 개발해야 할 것, 참고자료 등) ->

<!-- 없으시면 제목도 같이 없앤 후 업로드해주세요 -->
29 changes: 29 additions & 0 deletions .github/secrets/ExportOptions.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>destination</key>
<string>export</string>
<key>manageAppVersionAndBuildNumber</key>
<true/>
<key>method</key>
<string>app-store-connect</string>
<key>provisioningProfiles</key>
<dict>
<key>com.poppoolIOS.poppool</key>
<string>PoppoolGitHubAction</string>
</dict>
<key>signingCertificate</key>
<string>82F980617C0479150A4BCB89DC90498DCB319F8F</string>
<key>signingStyle</key>
<string>manual</string>
<key>stripSwiftSymbols</key>
<true/>
<key>teamID</key>
<string>W5QTRMS954</string>
<key>testFlightInternalTestingOnly</key>
<true/>
<key>uploadSymbols</key>
<true/>
</dict>
</plist>
Binary file not shown.
Binary file added .github/secrets/certification.p12.gpg
Binary file not shown.
100 changes: 100 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
name: CI

on:
pull_request:
branches: [main, develop, 'release/*']

jobs:
autocorrect:
name: 🤖 Autocorrect Workflow
runs-on: macos-15 # 최신 macOS 15 환경에서 실행
if: github.actor != 'github-actions[bot]'&& github.base_ref == 'develop' # Actions 봇 커밋은 무시 && develop에서만 자동 수정 진행

steps:
- name: Checkout Repository # 저장소 코드 체크아웃
uses: actions/checkout@v4

- name: 🛠️ Set up Xcode # Xcode 16.2 선택
run: sudo xcode-select -s /Applications/Xcode_16.2.app

- name: ⬇️ Install SwiftLint # SwiftLint 설치
run: brew install swiftlint

- name: 🎨 Run SwiftLint Autocorrect # SwiftLint 자동 수정 실행
run: swiftlint --fix

- name: 🚀 Commit and Push Changes # 변경 사항 자동 커밋 및 푸시
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"

git fetch origin "${GITHUB_HEAD_REF}:${GITHUB_HEAD_REF}"
git checkout "${GITHUB_HEAD_REF}"

BRANCH_NAME="${GITHUB_HEAD_REF}"
if [[ "$BRANCH_NAME" =~ \#([0-9]+) ]]; then
ISSUE_NUMBER="${BASH_REMATCH[1]}"
else
ISSUE_NUMBER=""
fi

if [ -n "$(git status --porcelain)" ]; then
git add .
git commit -m "style/#${ISSUE_NUMBER}: Apply SwiftLint autocorrect"
git push --set-upstream origin "${GITHUB_HEAD_REF}"
else
echo "No changes to commit"
fi

build:
name: 🏗️ Build Workflow
runs-on: macos-15 # 최신 macOS 15 환경에서 실행
if: github.actor != 'github-actions[bot]' # Actions 봇 커밋은 무시

steps:
- name: Checkout Repository # 저장소 코드 체크아웃
uses: actions/checkout@v4

- name: ⚙️ Generate xcconfig
run: |
cat <<EOF > Poppool/Poppool/Resource/Debug.xcconfig
KAKAO_AUTH_APP_KEY=${{ secrets.KAKAO_AUTH_APP_KEY }}
NAVER_MAP_CLIENT_ID=${{ secrets.NAVER_MAP_CLIENT_ID }}
POPPOOL_BASE_URL=${{ secrets.POPPOOL_BASE_URL }}
POPPOOL_S3_BASE_URL=${{ secrets.POPPOOL_S3_BASE_URL }}
POPPOOL_API_KEY=${{ secrets.POPPOOL_API_KEY }}
EOF

- name: 🛠️ Select Xcode 16.2 # Xcode 16.2 버전 사용 설정
run: sudo xcode-select -s /Applications/Xcode_16.2.app

- name: ⬇️ Install SwiftLint # SwiftLint 설치
run: brew install swiftlint

- name: 🎨 Run SwiftLint # SwiftLint 코드 스타일 검사 실행
run: swiftlint

- name: 🔍 Detect Default Scheme # 기본 scheme 자동 검지
id: detect_scheme
run: |
SCHEME=$(xcodebuild -list -json | jq -r '.project.schemes[0]')
echo "Detected scheme: $SCHEME"
echo "scheme=$SCHEME" >> "$GITHUB_OUTPUT"

- name: 🔍 Detect Latest iPhone Simulator # 최신 사용 가능한 iPhone 시뮬레이터 검지
id: detect_latest_simulator
run: |
DEVICE=$(xcrun simctl list devices available | grep -Eo 'iPhone .* \([0-9A-F\-]+\)' | head -n 1)
UDID=$(echo "$DEVICE" | grep -Eo '[0-9A-F\-]{36}')
NAME=$(echo "$DEVICE" | cut -d '(' -f1 | xargs)
echo "Detected simulator: $NAME ($UDID)"
echo "sim_name=$NAME" >> "$GITHUB_OUTPUT"
echo "sim_udid=$UDID" >> "$GITHUB_OUTPUT"

- name: 🏗️ Build the project # 자동 검지된 Scheme과 Simulator로 빌드 수행
run: |
WORKSPACE=$(find . -name "*.xcworkspace" | head -n 1)
xcodebuild -scheme "${{ steps.detect_scheme.outputs.scheme }}" \
-workspace "$WORKSPACE" \
-destination "platform=iOS Simulator,id=${{ steps.detect_latest_simulator.outputs.sim_udid }}" \
clean build | xcpretty
139 changes: 139 additions & 0 deletions .github/workflows/deploy_on_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
name: Distribution to TestFlight

on:
pull_request:
branches: [ release/* ]

jobs:
deploy:
name: 🚀 Distribution to TestFlight Workflow
runs-on: macos-15 # 최신 macOS 15 환경에서 실행
env:
# app archive 및 export 에 쓰일 환경 변수 설정
XC_PROJECT: Poppool/Poppool.xcodeproj
XC_SCHEME: Poppool
XC_ARCHIVE: Poppool.xcarchive

# certificate
ENCRYPTED_CERT_FILE_PATH: ${{ '.github/secrets/certification.p12.gpg' }}
DECRYPTED_CERT_FILE_PATH: ${{ '.github/secrets/certification.p12' }}
CERT_ENCRYPTION_KEY: ${{ secrets.CERT_ENCRYPTION_PWD }} # gpg로 파일 암호화할 때 사용한 암호

# provisioning
ENCRYPTED_PROVISION_FILE_PATH: '.github/secrets/PoppoolGitHubAction.mobileprovision.gpg'
DECRYPTED_PROVISION_FILE_PATH: '.github/secrets/PoppoolGitHubAction.mobileprovision'
PROVISIONING_ENCRYPTION_KEY: ${{ secrets.PROVISION_ENCRYPTION_PWD }} # gpg로 파일 암호화할 때 사용한 암호

# certification export key
CERT_EXPORT_KEY: ${{ secrets.CERT_EXPORT_PWD }}

KEYCHAIN: ${{ 'test.keychain' }}

steps:
- name: Checkout Repository # 저장소 코드 체크아웃
uses: actions/checkout@v4

- name: 🛠️ Set up Xcode # Xcode 16.2 선택
run: sudo xcode-select -s /Applications/Xcode_16.2.app

- name: "#️⃣ Set Build Number" # 자동 빌드 넘버 세팅
run: |
BUILD_NUMBER=$(TZ=Asia/Seoul date +%y%m%d.%H%M)
cd Poppool
agvtool new-version -all "$BUILD_NUMBER"

- name: ⚙️ Generate xcconfig # 빌드에 필요한 xcconfig 생성
run: |
echo "POPPOOL_BASE_URL=${POPPOOL_BASE_URL}" > Poppool/Poppool/Resource/Debug.xcconfig
echo "POPPOOL_S3_BASE_URL=${POPPOOL_S3_BASE_URL}" >> Poppool/Poppool/Resource/Debug.xcconfig
echo "POPPOOL_API_KEY=${POPPOOL_API_KEY}" >> Poppool/Poppool/Resource/Debug.xcconfig
echo "KAKAO_AUTH_APP_KEY=${KAKAO_AUTH_APP_KEY}" >> Poppool/Poppool/Resource/Debug.xcconfig
echo "NAVER_MAP_CLIENT_ID=${NAVER_MAP_CLIENT_ID}" >> Poppool/Poppool/Resource/Debug.xcconfig
env:
POPPOOL_BASE_URL: ${{ secrets.POPPOOL_BASE_URL }}
POPPOOL_S3_BASE_URL: ${{ secrets.POPPOOL_S3_BASE_URL }}
POPPOOL_API_KEY: ${{ secrets.POPPOOL_API_KEY }}
KAKAO_AUTH_APP_KEY: ${{ secrets.KAKAO_AUTH_APP_KEY }}
NAVER_MAP_CLIENT_ID: ${{ secrets.NAVER_MAP_CLIENT_ID }}

- name: 🔑 Configure Keychain # 키체인 초기화 -> 임시 키체인 생성
run: |
security create-keychain -p "" "$KEYCHAIN"
security list-keychains -s "$KEYCHAIN"
security default-keychain -s "$KEYCHAIN"
security unlock-keychain -p "" "$KEYCHAIN"
security set-keychain-settings

- name : ©️ Configure Code Signing # 코드 사이닝 추가
run: |
# certificate 복호화
gpg -d -o "$DECRYPTED_CERT_FILE_PATH" --pinentry-mode=loopback --passphrase "$CERT_ENCRYPTION_KEY" "$ENCRYPTED_CERT_FILE_PATH"

# provisioning 복호화
gpg -d -o "$DECRYPTED_PROVISION_FILE_PATH" --pinentry-mode=loopback --passphrase "$PROVISIONING_ENCRYPTION_KEY" "$ENCRYPTED_PROVISION_FILE_PATH"

# security를 사용하여 인증서와 개인 키를 새로 만든 키 체인으로 가져옴
security import "$DECRYPTED_CERT_FILE_PATH" -k "$KEYCHAIN" -P "$CERT_EXPORT_KEY" -A
security set-key-partition-list -S apple-tool:,apple: -s -k "" "$KEYCHAIN"

# Xcode에서 찾을 수 있는 프로비저닝 프로필 설치하기 위해 우선 프로비저닝 디렉토리를 생성
mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles"

# 디버깅 용 echo 명령어
echo `ls .github/secrets/*.mobileprovision`
# 모든 프로비저닝 프로파일을 rename 하고 위에서 만든 디렉토리로 복사하는 과정
for PROVISION in `ls .github/secrets/*.mobileprovision`
do
UUID=`/usr/libexec/PlistBuddy -c 'Print :UUID' /dev/stdin <<< $(security cms -D -i ./$PROVISION)`
cp "./$PROVISION" "$HOME/Library/MobileDevice/Provisioning Profiles/$UUID.mobileprovision"
done

- name: ⬇️ Archive app # 빌드 및 아카이브
run: |
xcodebuild clean archive -project $XC_PROJECT -scheme $XC_SCHEME -configuration release -archivePath $XC_ARCHIVE

- name: ⬆️ Export app # export 를 통해 ipa 파일 만듦
run: |
xcodebuild -exportArchive -archivePath $XC_ARCHIVE -exportOptionsPlist .github/secrets/ExportOptions.plist -exportPath . -allowProvisioningUpdates

- name: 🚀 Upload app to TestFlight # TestFlight에 아카이브된 앱 등록
uses: apple-actions/upload-testflight-build@v1
with:
app-path: 'Poppool.ipa'
issuer-id: ${{ secrets.APPSTORE_ISSUER_ID }}
api-key-id: ${{ secrets.APPSTORE_API_KEY_ID }}
api-private-key: ${{ secrets.APPSTORE_API_PRIVATE_KEY }}

- name: 📣 Notify to Discord
if: success()
run: |
MARKETING_VERSION=$(/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" Poppool.xcarchive/Products/Applications/Poppool.app/Info.plist)
BUNDLE_VERSION=$(/usr/libexec/PlistBuddy -c "Print :CFBundleVersion" Poppool.xcarchive/Products/Applications/Poppool.app/Info.plist)

curl -H "Content-Type: application/json" \
-X POST \
-d "{
\"embeds\": [
{
\"title\": \"🚀 TestFlight 배포 완료\",
\"description\": \"Poppool 앱이 성공적으로 TestFlight에 업로드되었습니다!\",
\"color\": 3066993,
\"fields\": [
{
\"name\": \"🏷️ 마케팅 버전\",
\"value\": \"$MARKETING_VERSION\",
\"inline\": true
},
{
\"name\": \"🛠️ 빌드 번호\",
\"value\": \"$BUNDLE_VERSION\",
\"inline\": true
}
],
\"footer\": {
\"text\": \"TestFlight에서 위 버전을 설치하세요\"
}
}
]
}" \
${{ secrets.TESTFLIGHT_WEBHOOK_URL }}
50 changes: 14 additions & 36 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,65 +1,43 @@
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore

## User settings
# Xcode 관련
xcuserdata/
.DS_Store

# 개인 설정 및 비밀 정보
*.xcconfig

## Obj-C/Swift specific
# Objective-C / Swift 관련
*.hmap

## App packaging
# 앱 패키징
*.ipa
*.dSYM.zip
*.dSYM

## Playgrounds
# Playgrounds
timeline.xctimeline
playground.xcworkspace

# Swift Package Manager
#
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Swift Package Manager (SPM)
.build/
# 패키지 관련 파일을 무시하고 싶다면 아래 항목을 활성화하세요.
# Packages/
# Package.pins
# Package.resolved
# *.xcodeproj
#
# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
# hence it is not needed unless you have added a package configuration file to your project
# .swiftpm

.build/

# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
# Pods 디렉토리를 무시하고 싶다면 아래 항목을 활성화하세요.
# Pods/
#
# Add this line if you want to avoid checking in source code from the Xcode workspace
# *.xcworkspace

# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts

Carthage/Build/
# Carthage 의존성을 무시하고 싶다면 아래 항목을 활성화하세요.
# Carthage/Checkouts

# fastlane
#
# It is recommended to not store the screenshots in the git repo.
# Instead, use fastlane to re-generate the screenshots whenever they are needed.
# 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

.DS_Store
Secrets.swift
Loading
Loading