logo

English

이곳의 프로그래밍관련 정보와 소스는 마음대로 활용하셔도 좋습니다. 다만 쓰시기 전에 통보 정도는 해주시는 것이 예의 일것 같습니다. 질문이나 오류 수정은 siseong@gmail.com 으로 주세요. 감사합니다.

[iOS] 개발자를 위한 iOS 15의 새로운 기능

by digipine posted Nov 04, 2021
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print Attachment
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print Attachment

image001.jpeg

 

iOS 15는 애플의 최신 개발 언어인 Swift 5.5를 지원합니다. 새로운 iOS와 swift가 탑재된 iOS 15는 사용자에게 새로운 기능과 향상된 경험을 제공합니다. 지금부터 iOS 15를 사용한다면 눈여겨봐야 할 중요한 신기능 5가지를 알아보겠습니다.

 

1. 푸시 알림 수준 설정

iOS 15에는 집중모드(Focus Mode)라는 기능이 추가됐습니다. 이를 위해 애플은 알림 트레이에 표시될 알림의 수준과 그 우선순위를 앱 별로 설정할 수 있도록 분리했습니다. 따라서 앱에서 알림 기능을 개발할 때 포커스 모드에서도 알림이 원하는 수준에서 정상 동작하도록 구현해야 합니다.

 

image003.jpeg

 

UNNotificationInterruptionLevel

case active 시스템은 알림을 즉시 표시하기 위해 화면을 켜고 소리를 재생할 수 있다.
case critical 시스템은 알림을 즉시 표시하기 위해 화면을 켜고 음소거 버튼을 무시하며 소리를 재생한다.
case passive 시스템은 화면을 켜거나 소리를 재생하지 않고 알림 목록에 알림을 추가한다.
case timeSensitive

시스템은 즉시 알림을 표시하기 위해 화면을 켜고 소리를 재생할 수 있지만, 시스템의 알림 설정에 제어를 받는다.
 

 

2. SwiftUI의 새로운 버튼 기능

다음과 같이 SwiftUI의 Component Button에 새로운 파라미터가 추가되었습니다.

1. Control Prominance: 버튼 표시에 대한 뷰 계층의 중요도를 제공합니다. 다음과 같이 두 가지 상태가 존재합니다.

 

image005.png

Prominence

case increased 중요도가 올라감.
case standard 기본 중요도를 가짐.

 

2. Tint: 개발자는 tint 속성을 사용하여 버튼에 tint 색상을 적용할 수 있습니다.

 

image007.png

 

3. Button Style: button Style을 사용하면 버튼에 다양한 스타일을 적용할 수 있습니다.

image009.png

 

기본으로 제공되는 버튼 스타일

automatic

기본적인 버튼 스타일로 버튼이 위치한 콘텍스트를 따라간다.

 

bordered 버튼이 위치한 콘텍스트에 따라 기본 테두리를 적용한다.
borderedProminent 버튼이 위치한 콘텍스트에 따라 눈에 띄도록 중요도가 높은 스타일을 적용한다.
borderless 테두리가 없는 버튼 스타일입니다.
card 기본적으로 배경색이 없지만 버튼에 포커스가 갈 때 모션 효과를 적용한다.
link 버튼을 링크처럼 보여줍니다.
plain 기본적으로 아무런 스타일이 적용되지 않습니다. 버튼을 누르거나, 포커스가 오거나, 활성화됨에 따라 지정한 시각 효과를 보여줄 수 있습니다.

 

4. Control Size: 보통(regular), 소형(small)과 같이 뷰 내부 컨트롤의 크기를 지정하기 위해 사용하는 클래스입니다.

ControlSize

case large 중요도가 높은 컨트롤에 적용하여 크기를 키운다.
case mini 컨트롤의 크기를 최대한 작게 줄임.
case regular 기본 속성으로 보통 크기로 표시됨.
case small 표시 공간이 제약된 뷰의 크기에 비례하여 컨트롤의 크기를 줄임.

 

image011.png

 

 

3. 현지화 개선

iOS 버전이 15라면 프로젝트에서 Xcode 13과 swift 5.5(swift UI 포함)는 프로젝트에서 문자열을 가져와 이를 문자열 파일에 자동으로 추가합니다. 'Use Complier to Extract Swift Settings' 설정을 'Yes'로 설정했는지 확인해야 합니다.

 

image013.png

 

설정을 활성화한 후 Product → Export Localization 메뉴로 이동하면 아래 화면과 같이 프로젝트에 사용된 문자열을 파일로 내보내 저장할 수 있습니다.

 

 

image015.png

 

4. 위치 버튼

 

image017.png

 

 

LocationButton은 위치 데이터에 일회성 접근을 요청하는 절차를 간소화합니다. 사용자가 위치 데이터에 대한 일회성 접근이 필요한 앱의 특정 기능을 사용할 때 이 버튼을 SwiftUI 사용자 인터페이스에 추가할 수 있습니다.

 

 

image018.png

 

image020.png

 

5. Await Callout

Swift 5.5는 Swift에 비동기(async) 기능을 도입하여 복잡한 비동기 코드를 마치 동기(synchronous) 방식처럼 간단하게 수행할 수 있습니다. 이는 두 단계에 걸쳐 수행됩니다. 새 async 키워드로 함수를 비동기 방식으로 작성하고, C#이나 JavaScript와 같은 다른 언어와 같이 await 키워드를 사용하여 호출합니다.

 

image022.png

출처 :

https://pushpsenairekar.medium.com/whats-new-in-ios-15-for-developers-70cb6c089729

TAG •

List of Articles
No. Subject Author Date Views
56 Core Audio를 사용하여 macOS에서 Audio를 Capture하는 코드 digipine 2024.04.19 462
55 macOS Daemon 관련 시스템 폴더 목록 lizard2019 2024.03.08 469
54 Firebase 'GoogleUtilities/GULURLSessionDataResponse.h' file not found Error Fix lizard2019 2023.07.04 635
53 [macOS] Xcode 디버깅 시 Could not attach pid 오류 해결 file lizard2019 2023.06.05 1355
52 [macOS, iOS] 개발자 정보 확인하는 명령어 digipine 2023.03.23 422
51 [macOS] 현재 사용 중인(열려있는) 포트 확인하고 Close 하기 digipine 2022.10.24 624
50 [iOS] Audio Session Setting digipine 2021.11.26 712
» [iOS] 개발자를 위한 iOS 15의 새로운 기능 file digipine 2021.11.04 759
48 [iOS/macOS] 사설 인증서를 사용한 SSL HTTPS 통신 시 우회처리 digipine 2021.07.06 3653
47 [MacOS] Terminal 에서 zsh compinit: insecure directories 경고 제거하기 lizard2019 2021.04.30 833
46 Concurrent vs Serial DispatchQueue: Concurrency in Swift explained lizard2019 2021.04.16 671
45 WatermelonDB 'jsi/jsi.h' file not found 문제 해결 file digipine 2021.04.06 944
44 [iOS/Objective-C] __weak, __block 사용법 digipine 2021.02.16 5821
43 macOS ARP Spoofing Attack file digipine 2020.09.17 937
42 The distance estimate iBeacon signal strength lizard2019 2019.10.25 939
41 [MacOS, Swift] 스크롤뷰, NSScrollView 사용법 엉뚱도마뱀 2018.11.01 1733
40 [swfit 4] 스위프트 Swift 동시성 동기화 정리 엉뚱도마뱀 2018.09.06 1571
39 [swift 4] 변경 사항 정리 file 엉뚱도마뱀 2018.07.23 1291
38 [Objective-C] NSOperation과 NSOperationQueue를 사용하는 방법 - 설명 및 예제 엉뚱도마뱀 2018.03.14 4497
37 MacOS mysql 비밀번호 분실 시 재설정하기 digipine 2017.11.14 1239
Board Pagination Prev 1 2 3 Next
/ 3