23.08.18 금

2023. 8. 27. 11:11·Study/🌱 SeSAC
목차
  1. ✅ Font
  2. ✅ Dispatch Group
  3. QoS
  4. notify를 이용하여 작업 완료 알림 받기
  5. 🔎 notify
  6. 🔎 enter / leave
  7. 💡 알림
  8. ✅ Local Notification 로컬알림
  9. ✅ Remote Notification 원격알림
  10. 💡 로컬 알림 구현하기
  11. ✅ 알림을 띄우기 위한 고려사항

✅ Font

Untitled.png

asset은 copy bundle resources에 들어가있음

폰트파일 연결하기

 

Untitled.png

폰트명을 찾아보자!

폰트 파일 명과 폰트명은 다를 확률이 높다.


✅ Dispatch Group

서로 다른 task들을 그룹화 하여 Queue에 보낸 task들이 작업을 완료할 때 까지 기다리고, 그룹화 된 task가 완료되면 notify를 통해 알림을 받을 수 있는 기능을 한다.

QoS

Quality Of Service

Untitled.png

동시에 일을 맡기기는 하지만 먼저 작업을 했으면 좋겠는 작업 설정

Untitled.png

background → 작업 중요도가 낮은(파일 다운로드)

unspecified → 시스템에게 중요도 순위를 알아서 판단하라고 맡김

userInteractive → 중요도가 높은 작업

모든 일을 가장 먼저 혹은 늦게 하는 것은 아니다.

다른 작업도 동시에 수행하면서 부여한 중요도에 따라 최종적으로 일을 마치는 시간이 상대적으로 빠르고 늦는 것

main 스레드에는 중요도 설정 요소가 없다. global에서 설정할 수 있음

ex) 넷플릭스 메인 추천작은 빠르게 보여줘야 한다.

파일 다운로드는 메인 추천작 보다는 덜 중요하기 때문에 백그라운드로 실행

Untitled.png

)

Untitled.png

notify를 이용하여 작업 완료 알림 받기

Untitled.png

그룹에 대한 신호를 받겠다

queue → 어디에서 받나?

Untitled.png

메인 스레드에서 신호를 받아서 수행하겠다~

Untitled.png

같은 그룹으로 묶인 dispatch queue에서 완료 신호를 모두 받으면 print 실행

DispatchGroup

notify → 동기 함수

enter / leave → 비동기 함수

🔎 notify

Untitled.pngUntitled.png

 

❗️비동기 함수는 다른 스레드에서 동작하는 요소이기 때문에 해당 작업이 끝날 때 까지 기다리지 않고 바로 notify를 띄우는 문제가 발생한다.

때문에 notify는 동기 함수에 적용하는 것이 좋고, 비동기 함수는 enter / leave에 적용하는 것이 좋다.

🔎 enter / leave

비동기 함수를 DispatchGroup에서 호출할 때의 문제를 해결하기 위해 사용된다.

reference count + 1

Untitled.png

 

Untitled.png

통신 작업 전 enter

통신 끝나기 직전에 leave


💡 알림

✅ Local Notification 로컬알림

앱 내부에서 사용자 기기에 알림을 전달하는 방법

비슷한 시간에 비슷한 알림이 오는 것

xcode에서 내장하고 있는 데이터 기반 알림

✅ Remote Notification 원격알림

채팅 알림, 유튜브 알림, 광고 알림 등 언제 어떤 알림이 오는지 알 수 없는 알림

xcode 외부에서 데이터를 받는 것

💡 로컬 알림 구현하기

✅ 알림을 띄우기 위한 고려사항

✔️ Authorization → AppDelegate

사용자가 권한을 허용해야 함

사용자가 필요로할 때 권한 설정 알림을 띄우는 것이 바람직 함

앱을 시작하자마자 띄워야 한다면 appDelegate → didFinishLaunchingWithOptions

알림에 붙일 설정을 부여할 수 있다. 대체로 alert, badge, sound는 기본적으로 설정 함

 

 

✔️ Request

Content: 알림에 보내고 싶은 메세지가 무엇인가

Trigger: 언제 보내고 싶은지

 

 

✔️Notification

identifier

알림에 대한 고유한 값

여러 알림을 보내더라도 identifier가 동일하다면 알림 내용이 수정되는 형태로 동작한다.

identifier가 다르면 스택으로 쌓임

 

알림은 background에서 발생한다.

foreground 상태에서는 알림이 안뜨는 것이 디폴트! ⇒ 애플 정책

Untitled.png

UNUserNotificationCentertDelegate에서 foreground 설정을 해주면 됨

 

Untitled.png

'Study > 🌱 SeSAC' 카테고리의 다른 글

23.08.24 목  (0) 2023.08.31
23.08.23 수  (2) 2023.08.31
23.08.22 화  (0) 2023.08.31
23.08.21 월  (1) 2023.08.27
23.08.14 월  (0) 2023.08.27
  1. ✅ Font
  2. ✅ Dispatch Group
  3. QoS
  4. notify를 이용하여 작업 완료 알림 받기
  5. 🔎 notify
  6. 🔎 enter / leave
  7. 💡 알림
  8. ✅ Local Notification 로컬알림
  9. ✅ Remote Notification 원격알림
  10. 💡 로컬 알림 구현하기
  11. ✅ 알림을 띄우기 위한 고려사항
'Study/🌱 SeSAC' 카테고리의 다른 글
  • 23.08.23 수
  • 23.08.22 화
  • 23.08.21 월
  • 23.08.14 월
김졀니
김졀니
🍎 iOS 개발
  • 김졀니
    졀니의 개발 공부✨
    김졀니
  • 전체
    오늘
    어제
    • 분류 전체보기
      • iOS
        • Swift
        • UIKit&SwiftUI
        • RxSwift&Combine
        • WWDC
      • Study
        • 🚨 TroubleShooting
        • 🌱 SeSAC
  • 블로그 메뉴

    • 홈
    • Github
  • 인기 글

  • 최근 글

  • 태그

    Realm
    layoutIfNeeded
    displayPriority
    위치 권한
    Sendable
    Swift
    observable
    ios
    actor
    RxSwift
    OperationQueue
    mainactor
    swift concurrency
    concurrency
    인앱리뷰
    swiftdata
    Drawing Cycle
    pointfree
    ReactorKit
    clipstobounds
    의존성 주입
    wwdc23
    kingfisher header
    CLLocation
    mapkit
    이미지 캐싱
    FileManager
    traits
    동시성프로그래밍
    @PropertyWrapper
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
김졀니
23.08.18 금
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.