협업 시 info.plist 에서 시작 스토리보드를 설정하다보니 info.plist 파일에서 충돌이 나는 것이 위험이 있다고 생각해서 코드로 시작 스토리보드를 변경하도록 해보았다. 첫번째, 프로젝트 파일의 Main Interface 를 삭제한다. 두번째, info.plist 파일의 Application Scene Manifest 를 펼쳐서 Storyboard Name 을 삭제해준다. 세번째, SceneDelegate.swift 파일에 다음의 코드를 추가해준다. func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let wind..
UIStatusBarManager iOS 13 으로 변경됨에 따라 KVC 를 통한 상태바에 대한 접근을 금지하고 있다. 대신 UIStatusBarManager 로 접근 가능합니다. 구현 if #available(iOS 13.0, *) { let margin = view.layoutMarginsGuide let window = UIApplication.shared.windows.first { $0.isKeyWindow} let statusBarManager = window?.windowScene?.statusBarManager let statusBarView = UIView(frame: statusBarManager?.statusBarFrame ?? CGRect.zero) statusBarView.back..
스토리보드에서 설정가능하지만 programmatically 하게 구현도 가능하다. collectionViewLayout 속성을 통해서 설정할 수 있다. let layout = onboardingCollectionView.collectionViewLayout as? UICollectionViewFlowLayout layout?.scrollDirection = .horizontal //layout?.scrollDirection = .vertical
커스텀 네비게이션바의 색과 상태바의 색 맞추기 커스텀 네비게이션을 만들게되면서 상태바와 색을 맞춰야하는 일이 생겼다. 노치에 따라 상태바에 UIView 를 얹어서 색으로 맞추는 원리로 만들었다. iPoneSE 2세대 iOS 13.0 노치가 생긴 이후 Code Extension 으로 UIViewController 에 함수를 추가. extension UIViewController { func setupStatusBar(_ color: UIColor) { // 1. if #available(iOS 13.0, *) { // 2. let margin = view.layoutMarginsGuide let statusbarView = UIView() statusbarView.backgroundColor = color..
Splash 화면 만들기 하단 출처의 개발자문서에서 애플은 첫번째 화면을 launch screen 과 흡사하게 만들라고 하고 있다. SplashViewController 에서 로그인 분기처리를 하기 위해서 Launch Screen 과 동일한 Splash 스토리보드를 만들었다. 로그인 분기처리 AppDelegate.swift 에서 로그인 유무를 판단할 수 있는 변수를 생성해두고 앱이 실행되면 application(_:didFinishLaunchingWithOptions:) 메서드 안에서 분기처리해서 변수를 바꾸어주었다. SplashVC // MARK: - Properties // AppDelegate 에서 생성한 로그인 유무 변수 private let appDelegate = UIApplication.sh..
오픈 라이브러리 PanModal 사용하기 모달창을 띄우고 싶은 뷰컨 import PanModal //... // MARK: - @IBAction Properties @IBAction func sortButton(_ sender: Any) { let storyboard = UIStoryboard(name: Const.Storyboard.Name.SortPanModal, bundle: nil) let vc = storyboard.instantiateViewController(withIdentifier: Const.ViewController.Name.SortPanModal) as! SortPanModalVC self.presentPanModal(vc) } 모달창 뷰컨 import PanModal class S..
Login tutorial using Apple REST API 1. Capability 추가 프로젝트에서 Signing & Capabilities 에서 Sign in with Apple 추가한다. 2. Apple Developer 에 App ID, Service ID, Key 등록 App ID 를 등록해준다. Sign In with Apple 체크해준다. 위와 같이 Service ID 도 등록해준다. Key 도 등록해준다. 서버에서 요구하는 것들을 세팅해준다. 아래의 링크에서 apple developer 에서 세팅요소들이 소개된다. passport-apple 로 웹에서 애플로그인 연동 3. 버튼 추가하기 Buttons - Sign in with Apple - Human Interface Guidelin..
- github
- urlsession
- WWDC
- Widget
- SwiftUI
- CloneCoding
- OpenSourceLibrary
- WidgetKit
- rxswift
- Algorithm
- WWDC22
- containerBackground
- RxCocoa
- projectsetting
- APNS
- UserDefaults
- MVVM
- watchOS
- IOS
- configurable widget
- Protocol
- async/await
- YPImagePicker
- Swift
- 2022 KAKAO TECH INTERNSHIP
- 서버통신
- Firebase
- Objective-C
- MOYA
- Notification
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Total
- Today
- Yesterday