Skip to content

Conversation

@Hrepay
Copy link
Member

@Hrepay Hrepay commented Oct 2, 2025

#️⃣ 관련 이슈

Resolved #332

💡작업 내용

이번 PR에서 작업한 내용을 간략히 설명해주세요(이미지 첨부 가능)

Entitlements 및 빌드 구성 분리

  • 공용으로 사용되던 EatSSU-iOS.entitlements 파일을 개발용(EatSSU-iOS-Dev.entitlements)과 배포용(EatSSU-iOS-Prod.entitlements)으로 분리하여, 각 빌드 환경에 적합한 Entitlements를 사용하도록 구조를 변경했습니다.
  • Project.swift 파일을 수정하여 각 타겟이 새로운 환경별 Entitlements 파일을 참조하도록 업데이트하고, 기존 공용 파일 참조를 제거했습니다.

빌드 설정 및 코드 사이닝

  • Project.swift에 개발 및 배포 타겟을 위한 빌드 설정을 명시적으로 추가했습니다. (프로비저닝 프로파일, 코드 사이닝 ID, 수동 코드 사이닝 스타일 등)
  • Fastlane 설정 파일(Appfile, Matchfile)을 업데이트하여 올바른 번들 식별자, Apple ID, 팀 ID, 인증서 저장소를 사용하도록 수정했습니다.

Fastlane 자동화 및 문서 개선

  • 기존의 스크린샷 및 테스트 관련 Fastlane lane과 문서를 개발 및 App Store 환경 설정을 위한 새로운 lane으로 대체하여, 온보딩 및 배포 자동화 과정을 개선했습니다.

💬리뷰 요구사항(선택)

리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요

ex) 메서드 XXX의 이름을 더 잘 짓고 싶은데 혹시 좋은 명칭이 있을까요?

  • 배포 관련해서는 추후 계속 업데이트 해나갈 예정입니다.
  • 제미나이의 추천에 따라 APPLE_ID, TEAM_ID, MATCH_GIT_URL 값을 .env로 이동했습니다.
  • .env 파일의 위치는 fastlane 폴더 내부 입니다. 팀 노션에 올려놓겠습니다.

@Hrepay Hrepay requested a review from Funital October 2, 2025 10:11
@Hrepay Hrepay self-assigned this Oct 2, 2025
@gemini-code-assist
Copy link

Summary of Changes

Hello @Hrepay, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 PR은 iOS 프로젝트의 코드 사이닝 및 빌드 구성을 Fastlane을 활용하여 자동화하고 표준화하는 것을 목표로 합니다. 개발 및 배포 환경에 따라 Entitlements 파일을 분리하고, Project.swift에 명시적인 빌드 설정을 추가하며, Fastlane 워크플로우를 재정비하여 온보딩 및 배포 프로세스의 효율성을 높였습니다.

Highlights

  • Entitlements 및 빌드 구성 분리: 개발용(EatSSU-iOS-Dev.entitlements)과 배포용(EatSSU-iOS-Prod.entitlements) Entitlements 파일을 새로 추가하고, 기존 공용 파일(EatSSU-iOS.entitlements)을 제거하여 환경별로 분리했습니다.
  • Project.swift 업데이트: 각 타겟이 새로운 환경별 Entitlements 파일을 참조하도록 수정하고, 개발 및 배포 타겟에 프로비저닝 프로파일, 코드 사이닝 ID, 수동 코드 사이닝 스타일 등 명시적인 빌드 설정을 추가했습니다.
  • Fastlane 설정 개선: Appfile에 번들 식별자, Apple ID, 팀 ID를 명확히 지정하고, Matchfile을 추가하여 인증서 저장소 및 프로파일 유형을 설정했습니다.
  • Fastlane 자동화 워크플로우 변경: 기존 스크린샷 및 테스트 관련 Fastlane lane을 제거하고, 개발 환경 설정(setup_development) 및 App Store 배포 환경 설정(setup_appstore)을 위한 새로운 lane을 도입하여 온보딩 및 배포 자동화 과정을 개선했습니다.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.


코드 서명 완료 빌드 환경 깔끔하게 배포의 길 열다

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

이번 PR은 Fastlane을 사용한 코드 사이닝 설정을 자동화하는 중요한 변경사항을 담고 있습니다. 개발 및 배포 환경에 따라 Entitlements 파일을 분리하고, Fastlane 설정을 업데이트하여 배포 과정을 개선한 점이 좋습니다.

다만, 몇 가지 개선점을 제안합니다. Project.swift 파일에서 빌드 설정이 여러 타겟에 걸쳐 중복되고 있으며, 이 과정에서 기존의 중요한 빌드 설정이 누락되는 critical한 문제가 발견되었습니다. 이를 해결하기 위해 공통 설정을 추출하여 재사용하는 리팩토링을 제안했습니다. 또한, AppfileMatchfile에 하드코딩된 민감한 정보(Apple ID, Team ID, Git 저장소 URL)를 보안 강화를 위해 환경 변수로 관리하도록 수정하는 것을 권장합니다.

자세한 내용은 각 파일에 남긴 코멘트를 참고해주세요.

Copy link
Collaborator

@Funital Funital left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

그럼 이제 프로비저닝 파일을 주고받는 번거로운 작업이 없어진건가요!?

@Hrepay
Copy link
Member Author

Hrepay commented Oct 2, 2025

그럼 이제 프로비저닝 파일을 주고받는 번거로운 작업이 없어진건가요!?

넹, 저번과 동일하게 devleop 하고 appstore용 match 파일만 땡겨오시면 됩니다.

@Hrepay Hrepay merged commit e71ae0b into develop Oct 2, 2025
@Hrepay Hrepay deleted the feat/#332 branch October 2, 2025 10:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feat] Fastlane 도입

3 participants