
⭐️ 개발/iOS & Swift
![[iOS] 1주차에 새롭게 알게 된 것들](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrIGDq%2FbtrGC8JdVNh%2F6q8mGAvFiPTveo8Bk6rBX0%2Fimg.png)
[iOS] 1주차에 새롭게 알게 된 것들
이번주에 새롭게 알게 된 내용들이 많아서 흥미로웠당..ㅎ 기존에 내가 왜 있는 건지 몰랐던 것들에 대해서 그리고 이게 있었어?라고 그냥 지나치던 것들까지도 세세하게 알 수 있어서 유익했다. 1. AppDelegate / SceneDelegate iOS 12에서 13으로 버전이 바뀌면서 iPadOS가 나왔다. 가장 큰 특징은 분할화면 -> 다중 창 모드가 가능하다는 것인데 그런 일로 인해 기존 Inactive / active 등의 앱의 생명주기 개념으로만은 명확하게 구분지을 수 없게 되었다. 예를 들어, 사파리 창을 아이패드에서는 최대 3개(의 Scene)까지 한 화면에 열 수 있기 때문에, 사파리 3창 중 1창을 닫았다고 해서 사파리 앱이 inactive/active 됐다고 말하기가 어렵다. 그래서 UI..
![[iOS] UITextFieldDelegate, DidEndOnExit, isHidden](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbBGeoy%2FbtrGJ1Zzbp3%2FUaCtvlJknMkKK3wGksTFn1%2Fimg.gif)
[iOS] UITextFieldDelegate, DidEndOnExit, isHidden
3일차 과제 정리 1. textField ReturnKey func configureTextField() { writeTextField.placeholder = "내용을 작성해주세요" writeTextField.text = "루히짱!" writeTextField.keyboardType = .default writeTextField.delegate = self } extension LEDViewController: UITextFieldDelegate { func textFieldShouldReturn(_ textField: UITextField) -> Bool { textField.resignFirstResponder() } } 코드를 설명하면 UITextFieldDelegate를 채택해주고, 해당 델리게..
![[iOS] SF Symbols, iOS 계층구조, 상속](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb5S94q%2FbtrGvVcp91j%2Fee8VhaSOCV4NIc6ETeOzr0%2Fimg.png)
[iOS] SF Symbols, iOS 계층구조, 상속
SF Symbol SF Symbol은 사실 폰트임 San Fransico 폰트가 애플의 default 폰트인데, 이걸 기준으로 iOS 13 이상부터 심볼을 만들 때 디바이스에 보여지는 가독성을 고려해서 폰트가 가지고 있는 특성을 이미지에도 주자는 것이 이 심볼의 핵심임 switch에서 title은 Mac에서만 보임 플랫폼에 따라서 안보이는 기능들이 있음 iOS 계층 구조 CocoaTouch Framework > UIKit iOS 개발 환경에서 다양한 기능을 구현하기 위한 도구가 포함되어 있는 최상위 레벨의 프레임워크 그 중에서 UIKit이 우리가 자주 사용하는 도구인데 UI 관련 도구가 들어있고, Foundation은 String, Int, Data 등의 기본 데이터 형식 및 컬렉션 등이 포함되어 있다...
![[iOS] 애플의 생태계 및 기초적인 개념](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEF2hm%2FbtrGx2WVxr0%2F8lkHPqcVMSkEeL4yZl5Ok0%2Fimg.png)
[iOS] 애플의 생태계 및 기초적인 개념
Application에 대해 앱이 출시되는 단계 기획/디자인 -> 개발 -> 테스트 -> 심사 -> 출시/업데이트 -> 유지보수 앱의 구조와 동작 원리 - UI/Scene : 사용자 눈에 보이는 화면 - 기능(Logic) : 사용자가 볼 수 없는 뒷단 기능 - Data 인터넷이 연결 안되어 있으면 콘텐츠를 볼 수 없는 상황이 있음 애플이 지향하는 시장, 애플 생태계 - 디자인 : 입체적(스큐어모피즘) -> 플랫한 느낌 -> 뉴스큐어모피즘 - 개발언어 : 오브젝트-C -> 스위프트 - 사용자 입장에 대해서의 이해 / 개인정보 보호 WWDC 최근 기준으로 보자면, 애플로 로그인하는 기능인데 우리의 이메일이 한 번 더 보안화 돼서 넘어갈 것 대신 소셜 로그인을 할 경우에는 애플 로그인이 필수화 예시) 최근 새..
![[iOS] Mac Catalyst가 뭔데요?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbTkvH9%2FbtrGvUYMIIp%2FsZF1wOWR5J4E17KTq2fui0%2Fimg.png)
[iOS] Mac Catalyst가 뭔데요?
Storyboard와 SwiftUI 차이 2019년에 새롭게 나왔고 현재 버전은 3 SwiftUI가 나오면서 스보 이외에 화면을 다루는 방식이 2가지가 된 것이다. 스보는 참고할 수 있는 레퍼가 엄청 많음, 근데 여러 플랫폼을 대응하기 취약함 -> 즉, 현재 다루고 있는 이미지, 레이블 등이 iPad, iPhone에만 잘 대응함 -> 애플워치, 맥OS에서는 다른 걸 사용해서 대응해줘야 함 UIKit - iPad, iPhone AppKit - macOS WatchKit 애플의 여러 플랫폼에 똑같이 출시하려면 공부할 게 굉장히 많았음 그래서 애플이 SwiftUI를 만들어서 내부에 UIKit, AppKit, WatchKit을 다 넣어서 여러 플랫폼에 대응할 수 있게 함 iOS 13 이상을 지원함 스유에서는 M..
![[iOS] KakaoMap API 써보기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjiBRo%2FbtrvF3NFMZK%2Fr6jUf95VFB50bDVRSk4q6K%2Fimg.gif)
[iOS] KakaoMap API 써보기
KakaoMap API 써보기 굉장히 오랜만에 왔다.. 티스토리.. 이제 꾸준히 써야지.. 자료 - 카카오 공식 문서 - Kakao 지도 API - 위도경도 찾기 - 위도경도 찾기 위도경도 찾기 위도경도 찾기, 미국기준 미세먼지 측정지도, IP 주소확인, 일출일몰 시간, 방문자 위치 분석, 설치 안내 map.esran.com 이거 말고 구글지도로 검색하면 바로 나옴 1. 초기 세팅 아래 블로그에 굉장히 잘 나와있다. Kakao Maps API with Swift Kakao Maps API with Swift iOS에서 카카오맵을 연동해보겠습니다. 다음 링크를 가서 SDK를 다운받고 설명을 읽어봅니다. https://apis.map.kakao.com/ios/guide/ 파일의 이름에 DaumMap이라고 나..
![[Swift] ARC 공부하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdt5TGA%2FbtrhUlf5Mjt%2Fq9wmVhevQ3snEuWwZZr130%2Fimg.png)
[Swift] ARC 공부하기
ARC 공부하기 강한 순환 참조? 순환 참조? 약한 참조? 다 드루와! https://huree-can-do-it.notion.site/ARC-304a3f3cf1cd4ec7bfb4450be7c1d83f
![[iOS] Firebase로 이메일 로그인, 애플로그인 구현하는 방법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPNrBV%2Fbtrg3se2D51%2F9kJS9y140fqOcNsTeERn00%2Fimg.png)
[iOS] Firebase로 이메일 로그인, 애플로그인 구현하는 방법
Firebase로 이메일 로그인, 애플로그인 구현하는 방법 Firestore Database 야매로 건들기 Firebase Sign In with Apple - 애플 개발자 페이지에 iOS 앱을 등록하는 방법까지~!
![[iOS] iOS15 tableview section header 간격 문제 해결](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbUub2L%2FbtrgkTRBuOo%2F7vC0WTLmUxUPuVkp0pPXp1%2Fimg.png)
[iOS] iOS15 tableview section header 간격 문제 해결
iOS15 tableview section header 간격 문제 해결 iOS15 tableview section header gap https://developer.apple.com/documentation/uikit/uitableview/3750914-sectionheadertoppadding?language=objc Apple Developer Documentation developer.apple.com iOS15로 업데이트 후 tableView가 이상하게 변했다. cell이 없을 경우 section header height 값을 0으로 return 했는데도 옆에 사진처럼 section header 간격이 잡혀버리는 것;; 구글링 해보니 iOS15부터 새로 적용되는 기능... sectionHeade..
![[iOS] Storyboard 없이 Navigation Controller로 시작하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FXaVAX%2FbtreMEioraE%2FcpS06LTLL5YBF0ithGkbTK%2Fimg.png)
[iOS] Storyboard 없이 Navigation Controller로 시작하기
Storyboard 없이 Navigation Controller로 시작하기 Storyboard를 다 지워버린 상태에서 코드 베이스로 프로젝트를 시작할 때 navigation controller 베이스로 해줘야 할 때가 있다. 어떻게 해야 하냐면!! rootViewController를 설정해준 SceneDelegate 파일에 들어가서 rootViewController를 Navigation Controller로 지정해주면 된다. // // SceneDelegate.swift // PhoneBook_Clone // // Created by Thisisme Hi on 2021/09/08. // import UIKit class SceneDelegate: UIResponder, UIWindowSceneDelega..
![[iOS] URLSession 사용해서 서버 통신해보기 (feat. 네이버 Movie API)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcC0QOs%2FbtrdtLbsh4g%2FU0fIwXh76XRuJ4DrwJ3ZOK%2Fimg.gif)
[iOS] URLSession 사용해서 서버 통신해보기 (feat. 네이버 Movie API)
네이버 Movie API 를 가져와서 서버 통신을 해볼건데 이번에는 Alamofire, Moya가 아닌 Apple에서 자체적으로 제공하는 네트워크 통신 API인 URLSession을 사용해 보려고 한다! https://developers.naver.com/apps/#/register?defaultScope=search 애플리케이션 - NAVER Developers developers.naver.com -> Naver API를 사용할 건데 clientID랑 clientSecret이 필요하다. 🌀 URLSession 이란? 🌀 URLSession은 HTTP/HTTPS를 통해 콘텐츠 및 데이터를 주고받기 위해 API를 제공하는 클래스 1️⃣ Request - URL 객체와 직접 통신하는 형태 - URLRequ..
![[iOS] MVVM 패턴 가볍게 톺아보기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fwtob2%2FbtrdgRo5aFU%2FHLNR126UoMzW3KZI8crWQK%2Fimg.png)
[iOS] MVVM 패턴 가볍게 톺아보기
MVVM 패턴 가볍게 톺아보기 노션 링크를 눌러 보세요... https://huree-can-do-it.notion.site/MVVM-75faeea12ac84da78d510aa6bd5c3ea5 깃허브 - 첫 번째 튜토리얼 : https://github.com/TeamCatchMe/CatchMe-RxMe-iOS/tree/heerucan/0-1week/heerucan/MVVM-Example GitHub - TeamCatchMe/CatchMe-RxMe-iOS: 간다. 아요. 알치기알치기야야야🍳 간다. 아요. 알치기알치기야야야🍳. Contribute to TeamCatchMe/CatchMe-RxMe-iOS development by creating an account on GitHub. github.com - ..
![[iOS] Storyboard 없이 코드로 프로젝트 시작하기!](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpT6dw%2FbtrcNNa1Js0%2FLkkk49VRHFWnScJTDbZvQK%2Fimg.png)
[iOS] Storyboard 없이 코드로 프로젝트 시작하기!
Storyboard 없이 코드로 프로젝트 시작하기! 스토리보드없이 코드로 개발을 시작하면서 세팅을 해줘야 할 때 잊지 말아야 하는 것들이 있는데 매번 까먹어서 정리를 합니다! 1. Main.storyboard 파일 삭제해주기 2. Targets -> General 에서 Main Interface 삭제해주기 -> Targets에서 삭제해주면 info.plist의 Main storyboard file base name도 알아서 삭제가 됩니다! 3. info.plist -> Application Scene Manifest -> Storyboard Name 삭제하기 4. SceneDelegate에 rootVC 설정해주기 : 기존에 있던 ViewController()를 지우고 새로운 VC을 만들었을 경우, roo..
![[iOS] Alamofire 가볍게 톺아보기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5Eb6j%2FbtrdgSVPFvf%2FpfEFnoSJzOQoliOLKIHLp0%2Fimg.png)
[iOS] Alamofire 가볍게 톺아보기
Alamofire 가볍게 톺아보기 노션 링크를 눌러보세요... https://huree-can-do-it.notion.site/1-Alamofire-258abd3b646d4947bb773a9521b2083e
![[iOS] App에 Google Analytics 사용해보기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbdcGQq%2FbtrcMHWigXx%2FU7xLgTaTKhcIQKUdUVf7jK%2Fimg.png)
[iOS] App에 Google Analytics 사용해보기
Get Started | Analytics for Firebase - iOS | Google Developers Get Started | Analytics for Firebase - iOS | Google Developers Get Started The Firebase SDK collects usage and behavior data for your app. The SDK logs two primary types of information: Events: What is happening in your app, such as user actions, system events, or errors. User properties: Attributes you define to desc developers.goog..