Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
d79ce1e
[수정] deinit 시 약한 참조 사용 제거 (#97)
hyeonsik971029 Mar 20, 2025
27a5acf
[버전] Develop 1.10.1(1010010) 버전 업데이트
hyeonsik971029 Mar 20, 2025
848dcce
[버전] Production 1.3.1(103010) 버전 업데이트
hyeonsik971029 Mar 20, 2025
c19e6eb
버전 검사 API 응답 시 기존 request 사용 (#99)
hyeonsik971029 Mar 25, 2025
c128a6a
microsoft clarity 적용 (#100)
hyeonsik971029 Mar 25, 2025
a875780
[버전] Develop 1.11.0(1011000) 버전 업데이트
hyeonsik971029 Mar 25, 2025
8bb94e4
답카드 작성 시 에러 및 상세보기 디자인 변경 (#101)
hyeonsik971029 Apr 10, 2025
f2951b2
README 작성 (#103)
hyeonsik971029 Apr 15, 2025
14958d8
[추가] NotificationViewReactor 알림 삭제 코드 추가 (#102)
JDeoks Apr 15, 2025
04d948e
[버전] Develop 1.12.0(1012000) 버전 업데이트
hyeonsik971029 Apr 16, 2025
d858432
[버전] Production 1.4.0(104000) 버전 업데이트
hyeonsik971029 Apr 16, 2025
f453aa3
Merge branch 'main' into develop
hyeonsik971029 Apr 16, 2025
4892580
[추가] 카드 Equatable 조건 추가 (#105)
hyeonsik971029 Apr 25, 2025
b983a1b
Github Action: CI / CD 추가 (#106)
hyeonsik971029 May 8, 2025
eb478d7
알림 센터 특정 알림 삭제 (#107)
hyeonsik971029 May 8, 2025
353d155
[버전] 버전 업데이트
hyeonsik971029 May 8, 2025
7570a6c
[수정] 오타 수정
hyeonsik971029 May 8, 2025
d4c57d4
[SOOUM-14] Intro 업데이트 (#109)
hyeonsik971029 Sep 19, 2025
4577e94
[버전] Develop 1.13.0(1013000) 버전 업데이트
hyeonsik971029 Sep 19, 2025
4cceb36
[SOOUM-54] 온보딩/회원가입 QA 수정 (#110)
hyeonsik971029 Sep 20, 2025
777e2a3
[버전] Develop 1.13.1(1013010) 버전 업데이트
hyeonsik971029 Sep 20, 2025
f53658b
[수정] 프로필 이미지 뒷배경 추가
hyeonsik971029 Sep 21, 2025
aa72fc7
[수정] 기존 계정 버튼 수정
hyeonsik971029 Sep 21, 2025
7575024
[버전] Develop 1.13.2(1013020) 버전 업데이트
hyeonsik971029 Sep 21, 2025
185ddad
[수정] 온보딩 화면 `숨 시작하기` `기존 계정이 있으신가요?` 버튼 패딩 수정
hyeonsik971029 Sep 21, 2025
7b41a72
[수정] 계정 이관 코드 입력 화면 가이드 메시지 왼쪽 정렬
hyeonsik971029 Sep 21, 2025
4ea591f
[버전] Develop 1.13.3(1013030) 버전 업데이트
hyeonsik971029 Sep 21, 2025
7c700e8
홈 및 알림 화면 개선 (#111)
hyeonsik971029 Oct 8, 2025
aaea66f
[수정] 날짜 디코딩 포맷 2개 사용하는 것으로 수정
hyeonsik971029 Oct 8, 2025
43f4cd3
[변경] 홈 및 알림 모델 변경
hyeonsik971029 Oct 8, 2025
f2765a7
[삭제] 불필요한 주석 삭제
hyeonsik971029 Oct 8, 2025
9a2b6a7
[버전] Develop 1.14.5(1014050) 버전 업데이트
hyeonsik971029 Oct 8, 2025
4153769
[변경] DTO 모델 id는 항상 int64
hyeonsik971029 Oct 12, 2025
e75a229
[추가] 사용중인 기기 및 ios 버전 추가 관리
hyeonsik971029 Oct 12, 2025
50949f3
[버전] Develop 1.15.0(1015000) 버전 업데이트
hyeonsik971029 Oct 12, 2025
c7a4f00
글 생성 개선 (#112)
hyeonsik971029 Oct 20, 2025
9631dbe
[변경] 리프레쉬 컨트롤 오프셋 제거
hyeonsik971029 Oct 22, 2025
0025bba
[변경] 상단 필터 뷰 타이포그래피 고정
hyeonsik971029 Oct 22, 2025
72a0e8e
[변경] 홈 화면 헤더뷰 숨김 로직 변경
hyeonsik971029 Oct 22, 2025
55383b8
[변경] 입력된 태그 스크롤 로직 변경
hyeonsik971029 Oct 23, 2025
441c6b8
[변경] 공지 아이콘 변경
hyeonsik971029 Oct 23, 2025
8523289
[버전] Develop 1.16.2(1016020) 버전 업데이트
hyeonsik971029 Oct 23, 2025
539a236
[변경] 상단 공지 인디케이터 표시 로직 변경
hyeonsik971029 Oct 23, 2025
0e5fa48
[추가] 홈 화면 상단 무한 스크롤 추가
hyeonsik971029 Oct 23, 2025
76191ee
[버전] Develop 1.16.3(1016030) 버전 업데이트
hyeonsik971029 Oct 23, 2025
6fd3314
[변경] 온보딩 이미지 및 상단 패딩 변경
hyeonsik971029 Oct 30, 2025
9f8e5b6
[변경] 홈 상단 탭바 인디케이터 애니메이션 추가
hyeonsik971029 Oct 30, 2025
b08e6c7
[수정] 오타 수정
hyeonsik971029 Oct 30, 2025
2ddd39c
[변경] 카드추가 화면 이미지 선택 시 dim 색상 추가
hyeonsik971029 Oct 30, 2025
4bd7d7b
[변경] 주변카드 탭일 때, 위치 권한에 따른 동작 변경
hyeonsik971029 Oct 30, 2025
899af8b
[추가] 카드추가 권한 여부 확인 API 추가
hyeonsik971029 Oct 30, 2025
ba9846a
[변경] 카드추가 화면 진입 전 권한 여부 확인
hyeonsik971029 Oct 30, 2025
023b66f
[추가] 카드추가 밴 일자 포매팅
hyeonsik971029 Oct 30, 2025
5234360
[변경] x 아이콘 및 버튼 스타일 변경
hyeonsik971029 Oct 30, 2025
e3da8d3
[변경] 태그 입력 시 디자인 변경
hyeonsik971029 Oct 30, 2025
46517a8
[변경] 알림 디코딩 모델 추가 및 목 데이터 삭제
hyeonsik971029 Oct 30, 2025
9728dcd
[추가] 선택된 상태 디자인 추가
hyeonsik971029 Nov 2, 2025
63f8e7d
[변경] 카드추가 시 폰트 선택 뷰 변경
hyeonsik971029 Nov 2, 2025
fa1f414
[추가] 상세보기 화면에 필요한 이미지 및 아이콘 추가
hyeonsik971029 Nov 2, 2025
1322e12
[추가] 상세보기에 필요한 API 추가
hyeonsik971029 Nov 2, 2025
21bd3f8
[추가] 상세보기에 필요한 디자인 시스템 추가
hyeonsik971029 Nov 2, 2025
9a19a68
[변경] 이미지 다운 시 key 값이 없다면 url로 사용
hyeonsik971029 Nov 2, 2025
fa89f6a
[추가] 상세보기에 관련된 파일 추가
hyeonsik971029 Nov 2, 2025
81b14cd
[변경] 신고하기에 관련된 파일 변경
hyeonsik971029 Nov 2, 2025
ded44b9
[추가] 상세보기 화면 전환 코드 추가
hyeonsik971029 Nov 2, 2025
507299f
[추가] 답카드 작성 로직 추가
hyeonsik971029 Nov 2, 2025
a985c0d
[변경] 임시 주석 작성
hyeonsik971029 Nov 2, 2025
520824e
[추가] 당겨서 새로고침 시 offset 추가
hyeonsik971029 Nov 2, 2025
9c382c6
[변경] SwiftLint 수정
hyeonsik971029 Nov 2, 2025
90ac169
[추가] 이미지 추가
hyeonsik971029 Nov 2, 2025
773fce7
[변경] 변경
hyeonsik971029 Nov 2, 2025
2dbe452
[버전] Develop 1.17.0(107000) 버전 업데이트
hyeonsik971029 Nov 2, 2025
29a1c8b
상세화면 개선 (#113)
hyeonsik971029 Nov 6, 2025
59c1b6f
숨 개선 마이(팔로우, 설정) 탭 (#114)
hyeonsik971029 Nov 17, 2025
5ebed21
태그 화면 개선 (#115)
hyeonsik971029 Dec 2, 2025
88a4849
숨 개선 (1, 2주차) QA (#116)
hyeonsik971029 Dec 11, 2025
0426108
[변경] Readme 업데이트
hyeonsik971029 Dec 11, 2025
3bc5362
[변경] Readme 업데이트
hyeonsik971029 Dec 11, 2025
5d110da
API 호출 최적화 (#117)
hyeonsik971029 Dec 17, 2025
d058ced
[수정] 삭제된 카드 로직 수정
hyeonsik971029 Dec 17, 2025
4cb8e26
[버전] Develop 1.23.1(1023010) 버전 업데이트
hyeonsik971029 Dec 17, 2025
4199d35
[변경] preview 이미지 변경
hyeonsik971029 Dec 17, 2025
f97ba26
[변경] locationManager 테스트 코드 변경
hyeonsik971029 Dec 17, 2025
ccb3c2a
[삭제] 상세 화면 delete 버튼 삭제
hyeonsik971029 Dec 17, 2025
6372460
[삭제] 설치 기기에서 macos 삭제
hyeonsik971029 Dec 17, 2025
f960567
[변경] firebase 버전 업데이트
hyeonsik971029 Dec 18, 2025
16aab68
[수정] 불필요한 코드 삭제 및 심사 로직 수정
hyeonsik971029 Dec 18, 2025
a20fefa
[추가] 심사를 위한 Request 수정
hyeonsik971029 Dec 18, 2025
82094f1
[버전] Develop 2.0.0(200000) 버전 업데이트
hyeonsik971029 Dec 18, 2025
8ef843f
[버전] Production 2.0.0(200000) 버전 업데이트
hyeonsik971029 Dec 18, 2025
b392c46
[수정] 의존성 파일 gitignore 수정
hyeonsik971029 Dec 18, 2025
4e55d69
Merge branch 'main' into release/deploy-sooum-v2
hyeonsik971029 Dec 18, 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
  •  
  •  
  •  
Binary file added .github/secrets/ProfileDev.mobileprovision.gpg
Binary file not shown.
Binary file added .github/secrets/certification.p12.gpg
Binary file not shown.
92 changes: 92 additions & 0 deletions .github/workflows/CD.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@

name: Dev CD

on:
# develop 브랜치로 직접 푸시 했을 때
# 버전과 빌드 번호가 변경되었을 때
push:
branches: [develop]
paths: [SOOUM/**.xcodeproj/**]

jobs:
upload-testflight:
runs-on: mocos-15

env:
XC_WORKSPACE: ${{ 'SOOUM/SOOUM.xcworkspace' }}
XC_SCHEME: ${{ 'SOOUM-Dev' }}
XC_ARCHIVE: ${{ 'SOOUM-Dev.xcarchive' }}

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

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

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

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

# Step은 job의 일부로 실행될 일련의 task들을 나타냄
steps:
# 단계별 task 를 나타낼 이름
- name: Select latest Xcode
run: "sudo xcode-select -s /Applications/Xcode.app"

- name: Checkout project
uses: actions/checkout@v4

- 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: |
pod install --repo-update --clean-install --project-directory=SOOUM/
xcodebuild clean archive -workspace $XC_WORKSPACE -scheme $XC_SCHEME -configuration release -archivePath $XC_ARCHIVE

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

- name: Upload app to TestFlight
uses: apple-actions/upload-testflight-build@v3
with:
app-path: 'SOOUM-Dev.ipa'
issuer-id: ${{ secrets.APPSTORE_ISSUER_ID }}
api-key-id: ${{ secrets.APPSTORE_API_KEY_ID }}
api-private-key: ${{ secrets.APPSTORE_API_PRIVATE_KEY }}
53 changes: 53 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: CI

# main, develop 브랜치에 직접 푸시와 PR을 열었을 때
on:
push:
branches: [main, develop]
pull_request:
branches: [main, develop]

jobs:
build-and-test:
runs-on: macos-15

env:
XC_WORKSPACE: SOOUM/SOOUM.xcworkspace
XC_SCHEME: SOOUM-Dev
XC_DESTINATION: platform=iOS Simulator,name=iPhone 16,OS=18.0

steps:
- uses: actions/checkout@v4

- name: Pods cache
uses: actions/cache@v4
id: pods-cache
with:
path: |
SOOUM/Pods
SOOUM/Podfile.lock
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-pods-

- name: Pod install
if: steps.pods-cache.outputs.cache-hit != 'true'
run: |
cd SOOUM && pod install --repo-update --clean-install

- name: Run SwiftLint
run: .github/workflows/swiftlint.sh --strict
shell: bash

# 테스트 결과 출력
- name: Xcpretty install
run: gem install xcpretty

- name: Build and run tests
run: |
xcodebuild clean test \
-workspace "$XC_WORKSPACE" \
-scheme "$XC_SCHEME" \
-destination "$XC_DESTINATION" \
-enableCodeCoverage YES \
| xcpretty --test --color
48 changes: 48 additions & 0 deletions .github/workflows/swiftlint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#!/bin/bash

# Copyright (c) 2018 Norio Nomura
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

# convert swiftlint's output into GitHub Actions Logging commands
# https://help.github.com/en/github/automating-your-workflow-with-github-actions/development-tools-for-github-actions#logging-commands

function stripPWD() {
sed -E "s/$(pwd|sed 's/\//\\\//g')\///"
}

function convertToGitHubActionsLoggingCommands() {
sed -E 's/^(.*):([0-9]+):([0-9]+): (warning|error|[^:]+): (.*)/::\4 file=\1,line=\2,col=\3::\5/'
}

if ! ${DIFF_BASE+false};
then
changedFiles=$(git --no-pager diff --name-only --relative FETCH_HEAD $(git merge-base FETCH_HEAD $DIFF_BASE) -- '*.swift')

if [ -z "$changedFiles" ]
then
echo "No Swift file changed"
exit
fi
fi

swiftlintPath="SOOUM/Pods/SwiftLint/swiftlint"
config="--config SOOUM/.swiftlint.yml"

set -o pipefail && $swiftlintPath "$@" $config -- $changedFiles | stripPWD | convertToGitHubActionsLoggingCommands
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ playground.xcworkspace
Carthage/Build/

# Accio dependency management
Dependencies/
# Dependencies/
.accio/

# fastlane
Expand Down
29 changes: 29 additions & 0 deletions 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>
<false/>
<key>method</key>
<string>app-store-connect</string>
<key>provisioningProfiles</key>
<dict>
<key>com.sooum.dev</key>
<string>Profile-Dev</string>
</dict>
<key>signingCertificate</key>
<string>Apple Distribution</string>
<key>signingStyle</key>
<string>manual</string>
<key>stripSwiftSymbols</key>
<true/>
<key>teamID</key>
<string>99FRG743RX</string>
<key>testFlightInternalTestingOnly</key>
<true/>
<key>uploadSymbols</key>
<true/>
</dict>
</plist>
Loading