일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- unittest
- 2주차
- RxSwift
- 개발자
- tutorials
- xcode15
- swiftUI
- @Model
- 2023
- 프로그래머스
- watchapp
- fruta
- SwiftData
- 1주차
- 대학생협
- test
- Unit
- 3주차
- letswift
- ios
- WWDC
- DynamicIsland
- Swift
- ActivityKit
- 회고
- wwdc2023
- KoreaMango
- 콩세알프로젝트
- watchkit
- tutorial
- Today
- Total
KoreaMango 나무
[iOS App Dev Tutorials] SwiftUI - Persistence and Concurrency (2) 본문
[iOS App Dev Tutorials] SwiftUI - Persistence and Concurrency (2)
KoreaMango 2022. 5. 18. 21:252. Adopting New API Features
각 SDK 버전은 새로운 기술, 구조, 언어 특성을 포함한다. 이 글에서는 호환성을 유지하면서 API를 적용하는 방법에 대해 알아보자.
Setting a Deployment Target
Xcode 프로젝트의 각 프로젝트에는 앱을 실행할 수 있는 운영체제의 초기 버전을 지정하는 배포 대상 설정이 있다. 이 설정은 앱을 개발하는 데 사용할 수 있는 프레임워크 버전을 결정한다. 새 기능, 또는 프레임 워크를 채택하려는 경우 이 설정을 변경할 수 있다.
이 프로젝트는 iOS 14.0의 배포 목표를 갖고 있다. 즉, iOS 14.0 이상을 실행하는 모든 장치에서 앱을 실행할 수 있다.
iOS 15.0에 도입된 listRowSeparator(_: edge:) 수정자를 사용하여 ScrumsList 에서 구분자를 숨긴다고 가정하면, 수정자를 추가하면 Xcode는 iOS 15 이상에서만 사용할 수 있기 때문에 컴파일러 오류를 표시하지만 앱은 여전히 iOS 14 를 지원합니다. 오류를 수정하려면 Scrumdinger의 배포대상을 iOS 15 으로 설정해야한다.
Checking for an Operating System Version
사용 가능한 조건을 사용하여 이전 버전의 호환성을 유지할 수 있다.
struct ScrumsListSeparator: ViewModifier {
func body(content: Content) -> some View {
if #available(iOS 15, *) {
content
.listRowSeparator(.hidden)
} else {
content
}
}
}
#available을 사용하면 특정 버전의 운영체제에 대한 코드를 실행할 수 있다. 다음 예제의 보기 한정자는 iOS 15.0 이상을 실행하는 장치에만 listRowSeparator(_:edges:) 한정자를 적용합니다.
@available 속성을 사용하여 특정 운영 체제에서 사용할 수 있는 함수 또는 전체 유형을 표시할 수 있다. 아래에 정의된 기능은 iOS 15.1 이상에서만 액세스할 수 있다.
@available(iOS 15.1, *)
func setupGroupSession() {...}
'iOS > iOS App Dev Tutorials' 카테고리의 다른 글
[iOS App Dev Tutorials] SwiftUI - Persistence and Concurrency (4) (0) | 2022.05.18 |
---|---|
[iOS App Dev Tutorials] SwiftUI - Persistence and Concurrency (3) (0) | 2022.05.18 |
[iOS App Dev Tutorials] SwiftUI - Persistence and Concurrency (1) (0) | 2022.05.18 |
[iOS App Dev Tutorials] SwiftUI - State Management (4) (0) | 2022.05.18 |
[iOS App Dev Tutorials] SwiftUI - State Management (3) (0) | 2022.05.18 |