네부캠 미션을 하면서모듈화를 진행했다. 초기 모듈화 설계를 다음과 같이 하였고, Data 모듈이 Network 모듈에의존성을 갖고 있어각 모듈이 독립적이어야 한다는클린 아키텍쳐 원칙에 잘 맞지 않았다. 따라서 모듈 구조를일부 수정하였다. DIP(의존성 역전 원칙)를 적용하여,Data 모듈에 인터페이스를 정의하고,Network 모듈에서는 해당 인터페이스를 채택한 구현체를 구현했다. 하지만 이와 같이 모듈화 구조를 변경하면서다음과 같은 에러를 마주하게 되었다. Command SwiftVerifyEmittedModuleInterface failed with a nonzero exit code 첫번째 시도Build Libraries for Distribution 옵션을No로 변경해주었다. 이렇게 되..
오늘은 문자열을 어떤 문자를 기준으로 끊을 때 사용하는components(separatedBy: ) 와 split(separator: )의 차이에 대해알아보려고 한다. 더보기> components(separatedBy: ) 와 split(separator: ) 공식 문서 보러 가기 https://developer.apple.com/documentation/foundation/nsstring/1413214-components components(separatedBy:) | Apple Developer DocumentationReturns an array containing substrings from the receiver that have been divided by a given separator...
오늘은 Swift의 Stride에 대해 간단히 정리해보겠다. 더보기> stride 관련 공식 문서 (through와 to) 보러 가기 https://developer.apple.com/documentation/swift/stride(from:to:by:) stride(from:to:by:) | Apple Developer DocumentationReturns a sequence from a starting value to, but not including, an end value, stepping by the specified amount.developer.apple.com https://developer.apple.com/documentation/swift/stride(from:through:by:) ..
지난번에 올린 네부캠 베이직 과정 후기에 이어이번에는 네부캠 챌린지 과정 후기를 작성해보려고 한다. 더보기> 네이버부스트캠프 웹·모바일 9기 베이직 과정 후기 보러 가기https://choijungp.tistory.com/25#%F0%9F%93%8C%20%EB%B2%A0%EC%9D%B4%EC%A7%81%20%EC%9E%85%EA%B3%BC%20%EA%B3%BC%EC%A0%95-1 네이버부스트캠프 웹 · 모바일 9기 베이직 과정 후기네이버부스트캠프 웹 · 모바일 9기 베이직 과정에 대한 후기를 작성하려고 한다.이번 9기부터 "베이직" 단계가 신설되었다. 베이직 단계에 입과한 과정부터듣고 난 이후 지금의 후기를 남겨보choijungp.tistory.com 드디어 4주간의 챌린지 과정이 막을 내렸다. 4주..
네이버부스트캠프 웹 · 모바일 9기 베이직 과정에 대한 후기를 작성하려고 한다.이번 9기부터 "베이직" 단계가 신설되었다. 베이직 단계에 입과한 과정부터듣고 난 이후 지금의 후기를 남겨보려고 한다 !! 📌 베이직 입과 과정https://boostcamp.connect.or.kr/ 부스트캠프개발자의 지속 가능한 성장을 위한 학습 커뮤니티boostcamp.connect.or.kr 네이버 부스트캠프 페이지에 들어가면 자세한 프로그램 설명과 안내가 나와있다. 취업 준비를 하면서 하루 하루 시간을 알차게 사용하고 있지 못하다는 생각에일단 !! 지원해서 Swift에 대해 더 자세히 공부해 봐야겠다고 결심하여 지원하게 되었다. 무엇보다도 이전 기수와 다르게베이직 > 챌린지 > 멤버십 단계로 나뉜 것을 보고 더 ..
SwiftUI에서 View를 그릴 때, 코드가 길어지거나 중복되는 View의 요소가 있다면 보통 서브 View로 빼서 그리는 편이다. 오늘은 프로젝트를 진행하면서 알게된 서브 뷰 그리는 방식 3가지에 대해 포스팅 해 볼 예정이다. 방법 1. View 타입 변수private var nanuaView: some View { VStack(alignment: .leading) { SectionHeaderView(.nanua) ScrollView(.horizontal) { LazyHStack { ForEach(0.. 상위 뷰의 변수들을 같이 사용할 수 있어서 가장 많이 사용했던 방식이다. 방법 2. View를 반환하는 함수 선..
앱 배포를 위해 Archive를 하던 중 ... 쿠궁 .... Fail를 마주하게 되었다 ...... Missing Info.plist value. The Info.plist key 'BGTaskSchedulerPermittedIdentifiers' must contain a list of identifiers used to submit and handle tasks when 'UIBackgroundModes' has a value of 'processing'. For more information, refer to the Infromation Property List Key Reference at https://developer.apple.com/library/ios/documentation/Gener..
멋쟁이사자처럼 앱스쿨 iOS 4기 최종 프로젝트로 진행한 ANBD 배포 과정을 담은 글입니다.ANBD AppStore 레츠 고고 !!!!! 1. Apple Developer에 App Identifier 등록Apple Developer 접속 > Identifiers > + 버튼 클릭 App IDs 클릭 > Continue App 클릭 > Continue 추가하려는 App 번들 ID 작성 > 필요한 기능 추가 (ANBD는 푸시 알림을 필요로 해서 Push Notifications를 추가하였다.) > Register 2. App Store Connect에 App 등록Apple Developer > Account > App 접속 > 신규 앱 추가 번들 ID에 1단계에서 추가한 번들 ID 선택하고,SKU에는 ..
따끈따끈🔥한 짧고 간단한 멋쟁이사자처럼 앱스쿨 iOS 4기 후기 ... https://techit.education/school/kdt-ios-6th 앱 스쿨 : iOS 6기 : TECHITiOS 개발 실무부터 앱 배포까지 취업에 최적화된 부트캠프techit.education마침 6기를 모집하고 있기도 해서 .... 커리큘럼이나 자세한 내용은 위 링크를 참고하면 좋을 것 같습니다. 🤔 지원 동기앱스쿨 iOS 4기 모집공고를 봤을 때가 인턴 생활을 마치고 다시 취업을 준비하고 있던 시기였다. 6개월 동안 인턴 생활을 하면서 스스로 기초가 부족하다고 느꼈고, 혼자 공부가 잘 안된다고 느낀 시기에 마침 이 공고를 보게 되어다시 기초부터 탄탄히 쌓아 올려보자 !! 라는 마음에 수강 신청을 하게 되었다. 사..
1. APNs Key 발급받기Apple Developer 접속 > Account > Keys APNs Key를 생성해준다. Key 이름을 설정하고 Apple Push Notification service (APNs) 를 선택한 후Continue를 하면 된다. 생성 완료 !!한번 다운로드하면 다시 동일한 파일을 다운로드 할 수 없기 때문에 잘 저장해서 보관해둬야 한다. 2. Firebase 프로젝트에 APNs 키 등록하기APNs 키를 등록하고 싶은 프로젝트에 들어간다.프로젝트 설정 > 클라우드 메시징 APN 인증 키 업로드 APNs 인증키에 Apple Developer 사이트에서 발급받은 .p8 파일을 업로드 한다.키 ID는 Apple Developer > Keys 해당 키에서 확인 가능하고 팀 ..