내용 instagram story,feed 공유기능 구현을 목표 Story 공유 Android 암시적 인텐트 및 iOS 맞춤 URL 스키마를 사용하면 앱에서 사진, 동영상과 스티커를 Instagram 앱으로 보낼 수 있습니다. Instagram 앱이 해당 콘텐츠를 받아서 스토리 작성기에 읽어들이면 사용자는 콘텐츠를 Instagram 스토리에 게시할 수 있습니다. Instagram 앱의 스토리 작성기는 배경 레이어와 스티커 레이어로 구성됩니다. 배경 레이어 배경 레이어는 화면을 채우며 사진, 동영상, 단색 또는 컬러 그래디언트로 맞춤 설정할 수 있습니다. 스티커 레이어 스티커 레이어는 이미지를 포함할 수 있으며, 사용자가 스토리 작성기에서 레이어를 추가로 맞춤 설정할 수 있습니다. Instagram의 맞춤..
내용 SwiftUI 사용해서 Podcasts(팟캐스트) 앱의 클론코딩을 진행했다. 아래의 Menu 를 구현해보자! 해당 컴포넌트는 Menu 이다. 개발자 문서를 통해서 알아보자. Menu A control for presenting a menu of actions. Overview 다음 코드는 세 개의 버튼으로 구성된 Menu 와 세 개의 버튼을 포함하는 하위 메뉴를 보여줍니다. // action 은 커스텀 메서드입니다. Menu("Actions") { Button("Duplicate", action: duplicate) Button("Rename", action: rename) Button("Delete…", action: delete) Menu("Copy") { Button("Copy", action..
알림 권한 설정을 받는 방식이 iOS 12 에서 새롭게 추가되었습니다. 그중 provisional 요청 옵션에 대해서 알아보고, 실제로 프로젝트에 도입하려했던 협업적 시도에 대해서 적어보려 합니다. provisional 알림 권한 요청 옵션에 대해서 알아보자! 초기에 권한 요청하는 알림 창이 뜨지 않는다. 소리나 배너로 나타나지 않고, 잠금 화면에 나타나지 않는다. 대신 아이폰의 알림 센터의 기록에만 나타난다. 사용자에게 알림을 유지하거나 끌지 묻는 버튼이 푸시 알림에 등장한다. 와 같은 방식이고, 알림의 유지 유무를 묻는 계속 받기 / 끄기 를 누를 때까지 등장한다.(아래 영상 첨부) 계속 받기 를 누르면 -> prominent(눈에띄는 알림)(=즉시전달)과 quiet(조용한 알림) (=시간 지정 요약..
내용 ForEach 로 리스트를 구성하던 중 랭킹이 필요했다. 랭킹은 해당 topShows(array 데이터) 의 index 로 다루면 되기 때문에 데이터에 포함시키지 않았다. 그런데 다음과 같은 경고가 등장했다. 무엇일까? 🔥 Non-constant range: argument must be an interger literal Non-constant range: not an integer range 둘다 일정하지 않는 범위(상수 범위가 아니다.)라면서 경고를 던집니다. topShows 현재 이니셜라이저를 통해서 초기화 받는 var 로 선언되어 있습니다. .indices : 오름차순의 컬렉션을 subscribe 하는데 유효한 인덱스 해결? id 파라미터를 등록해주었더니 경고가 사라졌습니다. struct ..
내용 Swift 5.7 부터 옵셔널 변수를 언래핑하는 작업이 개선될 예정입니다. 이와 함께 Shadowing 에 대해서 알아봅시다. Shadowing 이란? 우리는 언래핑을 할 때 안전하게 진행하기 위해서 옵셔널 바인딩을 합니다. var x: Int? if let x = x { // do something with the new x } // or guard let x = x { return } 그리고우리는 결과적으로 x 라는 이름의 새 상수를사용하게 됩니다. 이 작업을 Shadowing 이라고 합니다. (새로운 상수가 언래핑 하고자 했던 옵셔널 변수의 그림자와 같기 때문이라고 합니다.) 실제로 우리가 사용하는 변수의 이름은 더 길고 때로는 훨씬 더 깁니다. 예를들어 var lastTimeUserEnter..
내용 기본 키보드에서 이모지 키보드로 변경할 때 대응해주기로 했습니다. 키보드의 형태가 바뀔 때 keyboardWillChangeFrameNotification 가 post 됩니다. 그래서 이걸 사용하기로 했습니다. 기본 키보드 이모지 키보드 키보드가 올라오거나 내려갈 때 // ✅ Posted immediately prior to a change in the keyboard’s frame. NotificationCenter.default.addObserver(self, selector: #selector(updateKeyboardFrame(_:)), name: UIResponder.keyboardWillChangeFrameNotification, object: nil) @objc func updateKe..
내용 서버 통신 시에 네트워크가 유실된 경우 사용자들은 무작정 기다릴 수 밖에 없다. 이때 alert 창과 함께 네트워크 연결 실패에 대해 알려주자! Moya 의 Plugin 을 커스텀해서 대응해보자. Moya Plugin 에 대해서 알아보자 Moya/Plugins.md at master · Moya/Moya Moya plugin 은 다음의 메서드를 호출해서 request 와 response 를 수정하거나 side-effect 에 대해서 수행할 수 있습니다. (prepare) after Moya has resolved the TargetType to a URLRequest. This is an opportunity to modify the request before it is sent (e.g. add ..
- Protocol
- UserDefaults
- WWDC
- github
- projectsetting
- RxCocoa
- SwiftUI
- CloneCoding
- configurable widget
- MOYA
- watchOS
- rxswift
- 2022 KAKAO TECH INTERNSHIP
- MVVM
- Swift
- OpenSourceLibrary
- WidgetKit
- Widget
- 서버통신
- YPImagePicker
- Objective-C
- Notification
- WWDC22
- Firebase
- APNS
- async/await
- urlsession
- Algorithm
- containerBackground
- IOS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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