Search

11주차 멘토링

진행 일자
2023/11/30
피드백 여부
피드백 완
API 키값 gitignore 및 관리에 대한 방법

프로젝트 진행 상황

종원님
CakeDetailView 작업 시작중
남훈님
UI 뼈대정도 구현
현재 프로토타입 진행주간이여서 크게 작업을 할 수 없었음

멘토링

API 키값 gitignore 및 관리에 대한 방법
파베 API 키 값
수업에서 알려준것!
property list에 키를 넣고~ 해당 파일을 깃 이그노어 시켜라~
팀끼리 따로 보완 잘 유지해서 나눠가져라
API Key → 보완적으로 퍼블릭한 레포이기에 노출안됨
회사 organization → private 레포! (1)
가장 간단하고 취약한 방법!
GoogleServiceInfo.plist → API_KEY (fadsj3jkfdjk3jrfkdsf)
AWS
비용이 비싸고 건당 청구가 되기에
xcconfig에 담는 경우
// KeySecret.xcconfig FIREBASE_API_KEY = "2134fe3r3"
JavaScript
복사
깃 이그노어 시켜서
.env 파일을 생성
팀 워크스페이스나 클라우드 같은곳에 보안을 걸어서 올려두고 다운받을 수 있게
개발자로써 피그마 다루기 레벨에 대해 의견
프로젝트 할때 메인 컬러 & 폰트 정해서 시작하는데 외부 폰트 사용 시
폰트 컬러 정의한 파일들은 Resource 파일
이런 리소스들을 가지고 어떤 모델 타입 파일이나 실제로 CakeDetailView나 이런 파일을은 Sources 파일들
소스 파일들로 앱을 구성해주고 나타내는 역할
프로젝트를 나눠요!
모듈을 나눈다
UI 모듈 / Core 핵심 로직을 담는 모듈 (네트워크 통신, 에러처리, 익스텐션들, 자체적으로 커스텀한 뷰 모디파이어) / 실제 피쳐를 구성하는 모듈 (케이크 디테일, 오더리스트)
모듈화!
한 프로젝트 구성에 모든 코드들이 있으면 그만큼 컴파일 타임 증가함!
네웹을 예시로보면 한국 네웹하고 일본 네웹 앱의 UI나 구성이 달라
동일한 리소스를 씀! 폰트 , 컬러를 동일하게 쓰고 Core 핵심 로직을 담는 모듈 동일하게 씀!
두개의 프로젝트 파일로 구성하면
한국앱 ← 코어 모듈
일본앱 ← 코어 모듈
Tuist (프로젝트 관리해주는 툴) / SwiftUI (뷰 드로잉) / TCA (아키텍쳐)
xcodeproj / xcworkspace
swift 파일만 비교
tuist generate
로컬라이제이션 (지역화)
일본 Asia/Japan → 우버로 노출되게 DisplayName (아이콘 / 앱이름)
내부에서도 UI가 좀 다른 경우는 → AppKorea / AppJapan
우리 앱을 쓰고 있는 사용자 비율 → 앱스토어 커넥트에서 비율 분포 확인
매출과 회사 방향성을 고려하여 정해짐!
프레임워크는 특정 기능을 구현하는 코드의 틀 & SDK는 소프트웨어 (앱)을 개발하는데 필요한 도구모음집
SwiftUI에서 뷰 코드 작성하기
import SwiftUI public struct CustomText: View { let title: String let textColor: Color let backgroundColor: Color let font: Font public init( title: String, textColor: Color, backgroundColor: Color, font: Font ) { self.title = title self.textColor = textColor self.backgroundColor = backgroundColor self.font = font } public var body: some View { Text(title) .foregroundStyle(textColor) .background(backgroundColor) .font(font) } } struct SignUpView: View { @ObservedObject var viewModel: DfadsfViewModel var body: some View { VStack { LogoView InputFormViewListView SignUpBtnView } } } private struct LogoView: View { var body: some View { } } // SignUpView의 하위뷰 private struct FormView: View { let title: String var body: some View { VStack { CustomText(title: title, textColor: <#T##Color#>, backgroundColor: <#T##Color#>, font: <#T##Font#>) } } }
JavaScript
복사
안드로이드 스튜디오, Xcode
SPM (Swift Package Manager)
CocoaPods
Carthage