Programming/Swift 44

tuist로 Clean Architecture 직접 설계 해서 만들어보기

우리 가족에게 온 천사 1명이 있어 천사가 될 때까지 보필하고, 천사를 키우느라 글 작성을 외면하였던 것에 반성하며 글을 쓴다. Clean Architecture를 공부하며, tuist로 프로젝트 초기 세팅을 하면, 조금 더 쉽게 관리할 포인트가 있지않을까해서 작업해보았다. iOS에는 Clean Architecture를 iOS에서 쉽게 사용할 수 있도록 Clean Swift로 된 템플릿을 작성하는 것이 있지만, Clean Architecture는 없다. 템플릿으로 만들 수도 있겠지만, 각 레이어마다 폴더가 다르게 생성되어야하는 데, 그런식으로 템플릿을 만들기엔 실력이 부족…한 탓도 있겠다. 천천히 시간을 갖고 만들어볼까 생각중이긴 하다. Clean Architecture의 기본 트리 구조는 다음과 같다...

Programming/Swift 2023.07.17

Storyboard, Color, Image 등 Resource framework에서 관리하기

앱을 만들다 보면, 공통으로 사용하는 것들이 있어요. color나 image 등이 대표적으로 사용되는 공통 리소스에요. 이 리소스를 리소스 framwork로 만들어서 관리하면, 중복되는 일도 없고, 한 곳에서만 관리하기 때문에 편할 것 같아요. 리소스 framework를 import해서 사용하면 되니까요. 물론 해당 편도 민소네님 글을 보고 작성하였습니다. 바로 이전 편에서 적용했던 프로젝트를 가지고 활용해보겠습니다! 지난 번 Service framework와 마찬가지로 dynamic framework를 생성해주세요. 메인 프로젝트 general -> Frameworks, Libraries, and embedded Content에 Resources 프레임 워크를 추가합니다. 그 다음 Resources f..

Programming/Swift 2022.03.07

메인 프로젝트에 서브프로젝트 주입하기 - 01

안녕하세요. 오랜만에 기술(?)글을 작성하게 되었습니다. 우선 민소네님의 블로그를 참고하였고, 코드 역시 거의 비슷할 수 있습니다. 뭔가 매번 한 발 느린 것 같습니다만, 느려도 일단 시작은 해보는 걸로! 참고1: http://minsone.github.io/ios/mac/ios-framework-part-2-project-subproject-dependencies [iOS][Xcode] Framework Part 2 : 프로젝트, 서브 프로젝트, Dependencies, 그리고 Static, Dynamic Framework 서론 프로젝트를 만들면 해당 프로젝트 내에 서브 프로젝트를 만드는 것에 이야기를 들어본적이 없었습니다. 프로젝트 하나에 모든 코드와 리소스가 다 들어가도록 개발을 했기 때문입니다. ..

Programming/Swift 2022.03.07

[iOS] Your enrollment could not be completed

안녕하세요. 오늘은 어떤 것을 가져왔냐면요. 애플 개발자 계정을 돈내고 구입하기 위해서 등록 절차를 진행하던 와중에, 다음과 같은 페이지에 부딫히고 말았어요. 세상에 [Your enrollment could not be completed] Your enrollment in the Apple Developer Program could not be completed at this time. 아니 이거 뭐야 ? 바빠죽겠는 데 아놔 이런 경우는 처음 이네요. 구글로 에러 메시지 복사해서 검색해보기 시작했지요. 검색해본 결과 원인을 여러개 본 결과 대추우웅 유추 해보자면 1. 애플 계정을 등록할 때 나이를 18세 이상으로 등록해야한다. 2. 결제 방법을 신용카드로 할 경우 해외결제 가능카드로 해야한다. 등등.. ..

Programming/Swift 2020.09.18

[Swift] Touch-id, Face-id를 적용해봐요.

안녕하세요. 오늘은 touch-id와 face-id로 본인 인증(?) 이라고 해야할까요? 암튼 그 기능을 테스트 해보려고합니다. 앱을 만들기 위해, 준비중인데요. 보통 앱 구매할 때나, 본인인증이 필요할 때, 이 기능을 많이 사용하는 걸로 알고있어요. 앱스토어에서도 쓰잖아요 그쵸? 암튼 그걸 시작 한 번 해볼게요 일단 프로젝트를 준비 시켜 주시구요. 왼쪽 파일 네비게이터에서 젤 위에 프로젝트 클릭 하신 후 그짝에서 쪼금 더 오른쪽으로 오시면 Project와 targets가 보이실거에요. 여기서 Target을 클릭! Frameworks, Libraries, and Embedded Content 란이 보이시면 +를 눌러주세용 그리고 Local을 검색하여 주시고, 아래 화면에 보이시는 LocalAuthenti..

Programming/Swift 2020.09.04

[Swift] iOS Push Image도 받아보기(Feat.FCM) 2/2

안녕하세요. 1/2는 어디갔냐구요? 1/2는 귀찮아서 2/2 먼저 보고 할려구용ㅋㅋㅋ 오늘은 다음과 같이 ImagePush로 받는 방법을 공부해보려고 합니다. 새로 만드는 앱때문에 테스트 해보면서 진행했습니당 전제조건은 기본적인 FCM 구성과 기본적인 푸시는 날려보시고 오셔야한다는 점입니다? (곧 작성해보지요..) 원래는 글 쓸 생각을 안해서..ㅠㅠ 제 의식대로 글을 써보겠습니다! 그럼 출발! 자 기본적으로 FCM을 받으면 앱이 포어그라운드에 있을 때에는 func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHan..

Programming/Swift 2020.09.01

함수 타입과 호출

// 매개변수와 반환값이 모두 없는 함수 --- 1 func printHello() { print("안녕하세요") } //호출 시 printHello() // 매개변수가 없지만 반환값은 있는 함수 --- 2 func sayHello() -> String { let returnVale = "안녕하세여" return returnVale } //매개변수는 있으나 반환값이 없는 함수 --- 3 func printHelloWithName(name : String) { print("\(name)님 안녕하세요.") } //호출 시 let inputName = "홍길동" printHelloWithName(inputName) //혹은 printHelloWithName("홍길동2") //매개변수와 반환값이 모두 있는 함수..

Programming/Swift 2015.11.30