+ 추가내용 navigationBar 가 히든된 경우와 더불어 left bar button item 을 사용하게 되면 스와이프 제스처로 pop 이 되지 않는 현상이 발생했어요! 그리고 발견한 버그와 해결 방법도 들구왔답니다! 그래서 이전의 게시물과 합해서 내용을 좀 더 구체적으로 적어볼까한다. iOS) 스와이프해서 pop 하기 interactivePopGestureRecognizer navigationBar 를 숨기지 않은 상태와 backIndicator 를 사용하는 상태(시스템이 자연스럽게 제공하는 뒤로가기 버튼)라면 좌측에서 우측으로 스와이프하면 push 된 뷰컨이 pop 된다. 하지만 다음과 같이 숨김 상태와 left bar button item 을 사용하는 상태라면 navigationControl..
프로젝트를 진행하면서 연속적으로 쌓은 뷰를 제거해야하는 상황이 있었어요! 대기방에서 홈으로 가야했었지요. 스플래쉬 > 홈(MainTBC) > 코드입력팝업(CodeJoinVC) > 참여방 확인 뷰(JoinCheckVC) > 대기방 구조이고, 우리는 presentingViewController?.presentingViewController?.dismiss 이렇게 사용해서 코드로 JoinCheckVC 를 닫고, CodeJoinVC 를 닫으려고 했어요! 하지만 그렇지를 못했져 이유를 알아봅시다.. 먼저 dismiss(_:) 메서드에 대해서 알아봅시다. 👾 dismiss(animated:completion:) Dismisses the view controller that was presented modally b..
Xcode 에서 다음과 같은 워닝을 만났어요! Expression implicitly coerced from '(옵셔널 타입)' to 'Any' 3가지 방법으로 해결을 하라고 하는데요. // warning 인 상황. // 옵셔널 자료형을 Any 로 업캐스팅하는 경우. .success(decodedData.data) //1 nil 병합 연산자( a ?? b : nill 아니면 a 반환. nil 이면 b 반환) .success(decodedData.data ?? "None-Data") //2 강체 추출 .success(decodedData.data!) //3 Any 로 타입 캐스팅(업캐스팅에 해당) .success(decodedData.data as Any) 흠 그런데 3번은 옵..
아래의 게시물은 제가 이전에 작성해둔 푸시알림 APNs 설정 및 파이어베이스에 앱 추가하는 과정입니다. iOS) APNs(Apple Push Notification Service) 이전 게시물에서는 파이어베이스에서 메시지를 테스트해보았다. 이번 프로젝트에서는 p8 인증키로 진행했다. 이번 프로젝트를 진행하면서 서버분들과의 협업으로 FCM Token 을 사용해서 앱에서 메시지를 수신하는 기능을 구현해 보았다. 📌iOS 클라이언트 설정 import UIKit // import import Firebase import FirebaseMessaging @main class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ applicati..
git forking workflow 적용 팀 프로젝트 레포 포크한다.(이하 팀 레포) 포크한 개인 레포(이하 개인 레포)를 클론한다. 개인 레포에서 작업하고 개인 레포의 원격저장소로 푸시한다. 풀리퀘스트를 통해서 팀 레포로 머지한다. 풀받아야 할때는 팀 레포에서 풀 받는다. 위와 같이 팀 레포에서 포크를 한 개인 레포에 푸시하게 되면 feature/#16 브랜치는 팀 레포에 브랜치가 남지 않아서 지저분하지 않습니당! 포크한 개인레포에서 풀리퀘를 만들게 되면 위 처럼 개인:브랜치 와 같이 표시가 됩니당! 다른 개발자들의 코드를 리뷰해줄때나 코드를 보고 싶을 때 팀 레포 를 포크한 개인의 레포를 원격 저장소로 등록하고 풀 받으면 됩니다.
서버통신하는 동안 유저가 로딩되고 있음을 보여줄 수 있도록 activity indicator 를 제공하는 라이브러리를 사용해보자. NVActivityIndicatorView 로딩 애니메이션을 제공하는 오픈 라이브러리 GitHub - ninjaprox/NVActivityIndicatorView: A collection of awesome loading animations 아래와 같은 로딩 애니메이션을 제공한다. pod install pod 'NVActivityIndicatorView' initializer 시작하기 불투명한 배경을 가지는 activity indicator 만들기 import NVActivityIndicatorView // lazy: 사용되기 전까지 연산되지 않는다. 로딩이 불..
전문용어는 아니지만 나는 다음의 효과에 대해서 무한 스크롤이라고 명명하고 글을 작성하기로 했다. 우리가 컨텐츠를 스크롤하다보면 마지막 컨텐츠에 닿으면 스크롤이 늘어나는 경험을 한적이 있었을 것이다. 우리는 이걸 인파이나이트 어메이징 스크롤 즉, 무한 스크롤이라고 말해보자 😉 보통 무한 스크롤이라면 여러개의 데이터(이미지와 텍스트)를 서버가 보내고 프론트가 받기에 부담스럽기 때 사용한다. 그래서 클라이언트가 스크롤이 마지막에 닿으면 다음 데이터를 서버에게 요구하게된다. 서버가 요구하는 보통 page, index, offset 이러한 분류 번호를 가지고 다음 스크롤의 데이터를 요청하게 된다. UICollectionViewDelegate 가 UIScrollViewDelegate 를 채택하기 때문에 scroll..
- Objective-C
- MOYA
- WWDC
- Notification
- WidgetKit
- 2022 KAKAO TECH INTERNSHIP
- async/await
- IOS
- CloneCoding
- OpenSourceLibrary
- Widget
- projectsetting
- Algorithm
- rxswift
- configurable widget
- YPImagePicker
- RxCocoa
- containerBackground
- github
- Firebase
- 서버통신
- WWDC22
- urlsession
- MVVM
- Protocol
- Swift
- watchOS
- APNS
- UserDefaults
- SwiftUI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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