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

by digipine posted Nov 04, 2021
?

Shortcut

PrevPrev Article

NextNext Article

ESCClose

Larger Font Smaller Font Up Down Go comment Print

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 •