- Total
목록전체 글 (270)
꿈꾸는리버리

🔧 문제 상황 Please delete apps signed with your free account from this device to remain under the limit. 🌟 문제 해결 내 계정으로 만든 앱이 디바이스에 이미 꽉차게 다운이 되어있다는 뜻이다 ! 내 디바이스에 기존에 빌드했던 어플을 지워주고 몇 초 뒤에 다시 빌드해보면 에러 해결이 된다 ! 뭔가.. 뿌듯ㅎ,..ㅋㅋㅋㅋㅋ

☁️ Widget 시리즈 기본 시리즈SwiftUI Widget 딱대.. (1/3) 위젯 기본 개념 + 구현SwiftUI Widget 딱대.. (2/3) : 앱 내의 데이터를 widget에 띄우기SwiftUI Widget 딱대.. (3/3) : 위젯을 눌렀을 때 다른 화면으로 뜨게 하기SwiftUI Widget 딱대.. ( Lock Screen Widget ) 에러 시리즈SwiftUI Widget 딱대(짐).. : 위젯 memory 제한SwiftUI Widget 딱대(짐).. : localization 적용SwiftUI Widget 딱대(짐).. : 위젯에 폰트가 안 먹혀요...[Error 해결] Embedded binary's bundle identifier is not prefixed with the ..

launchScreen vs splash Image launchScreen이란 앱의 메인 화면이 나오기 전 로딩 시간에 보여주는 화면이다. launchScreen) 앱의 로딩시간이 길어 사용자에게 해당 앱이 열리고 있음을 알려주는 시그널 splash Image) 앱 브랜딩을 위해 launching 시간보다 더 오래 .. launchScreen화면을 띄우는 것 -> 애플은 splash Image가 해당 앱이 느리다는 것을 밝히는 일이기 때문에 만드는 것을 지양해야 한다고 하지만, 대부분의 앱의 경우에는 앱 브랜딩을 위해 splash Image가 존재한다. 다만 애니메이션이나 긴 시간의 splash Image가 아니라 1-2초 사이에서 빨리 사라지는 splash Image가 대부분이다. 1️⃣ launch ..

1) Date extension에 Date를 특정 형태의 String값으로 변형하여 반환하는 함수를 생성한다. extension Date { enum DataFormatCatagory: String { case koreanDate = "yyyy년 MM월 dd일(EEEEE)" } func convertDateToKoreanDate(_ dataFormatCatagory: DataFormatCatagory) -> String { let formatter = DateFormatter() formatter.dateFormat = dataFormatCatagory.rawValue formatter.locale = Locale(identifier: "ko_KR") let koreanDate = formatter.st..

이전 포스팅에서는 아주 간단한 예제를 통해서 delegate가 뭔지에 대해 알아봤다 이번 포스팅에서는 실제 UIKit 에서 어떻게 쓰이는 지 예시를 통해 알아보도록 하겠다 ! 🌷 하고자 하는 것 FirstViewController 에서 SecondViewController로 이동을 하고, SecondViewController의 textField에서 입력한 값을 FirstViewController에 보여주는 것 ! SecondViewController에서 FirstViewController로 값을 보낼 때 delegate를 이용해서 보내줄 거다. -> SecondViewController에서 FirstViewController로 text 값을 넘겨주면 FirstViewController에서 하늘색 뷰의 l..
UIKit을 공부하기 시작하면 delegate~~ delegate ~~~ 이.. 위임자.. 대리자... 뭐 그런 녀석들의 이름을 많이 듣는다. 블로그들을 보고 공식 문서를 봐도... 잘 이해가 되지 않고,.. 그래서 많이 애먹었던 ! 요 delegate 녀석을 다뤄보고자 한다 ! 어디서나 볼 수 있듯이 핵심은 delegate(대리자)는 "남의 일을 대신해야 하는.. 녀석" 이다.. 이렇게 말하면 이해가 잘 되지 않는다. ( 나는.. 그랬씁니다.. ) 🌷 예제를 통해 차근차근 알아가보자 ! class A { func work() { print("A가 일을 합니다") } } A는 work()라는 함수를 가지고 있는.. A 일을 하는 녀석이다. class B { weak var delegate: A? func..

지난 포스팅에서는 Pods를 이용해서 SwiftLint를 도입했다 ! 매우 뿌듯하고,,, 뿌듯한 일이었는데... 누군가가 왜 Pods를 썼어요 ? 뭐 이렇고 저런 이야기들을 들었다.. 다시 공부하기에 귀찮고 꼭 해야 하나,.. 라는 생각이 들었지만, 또 숙제가 될 바에는 얼른해보자 ! 하는 마음에 CocoaPod을 탈출했다 왜 Pods를 지양해야 할까? Pods로 하면,, 팀 내에서 버전 관리를 해야 한다고 한다. 또한 프로젝트 내에서 의존성은 하나로 맞추는 게 좋기 때문에 따로 관리하는 것은 좋지 않ㄷr... 아무튼 이런 저런 이유로 애플에서는 Swift Package Manager 를 쓰는 걸 지향하라구 하고 ! 근데 SwiftLint는 Package Manage가 없으니 .. homebrew를 사용..

이전포스팅에서 protocol에서 method나 init을 요구할 때에 대해 알아봤다. 이번 포스팅에서는 프로토콜을 상속하는 경우, class 전용 프로토콜, 그리고 프로토콜의 조합과 프로토콜을 준수했는지 확인하는 등...의 프로토콜의 또 다른 부분을 다뤄보고자 한다. 🌷 protocol의 상속 protocol은 하나 이상의 protocol을 상속 받아 기존 protocol의 요구사항보다 더 많은 요구사항을 추가할 수 있다. 클래스의 상속 문법과 유사하기 때문에 크게 어렵지는 않다 ! protocol FirstProtocol { var name: String { get } } protocol FirstProtocol2 { var height: Int { get } } protocol SecondProto..