iOS, macOS, tvOS 및 watchOS용 SDK 설치
개요
Swift용 Atlas Device SDK를 통해 Swift 또는 오브젝티브-C 프로그래밍 언어를 사용하여 iOS, macOS, tvOS 및 watchOS 애플리케이션을 구축할 수 있습니다. 이 페이지에서는 프로젝트에 SDK를 설치하고 시작하는 방법을 자세히 설명합니다.
전제 조건
시작하기 전에 개발 환경이 다음 전제 조건을 충족하는지 확인하세요.
프로젝트 에서 이 페이지의 OS 지원 섹션에 나열된 Xcode 버전 및 최소 OS 버전을 사용합니다.
프로젝트에 리플렉션이 활성화되어 있습니다. Swift SDK는 리플렉션을 사용하여 모델의 속성을 결정합니다. 프로젝트는
SWIFT_REFLECTION_METADATA_LEVEL = none
을(를) 설정하면 안 됩니다. 그렇지 않으면 SDK가 모델의 속성을 볼 수 없습니다. 리플렉션은 프로젝트가 이 세팅에 대한 레벨을 구체적으로 설정하지 않는 경우 기본적으로 활성화됩니다.
설치
SwiftPM
, CocoaPods
또는 Carthage
을(를) 사용하여 프로젝트에 Swift SDK를 추가할 수 있습니다.
팁
Atlas Device SDK 및 Realm
SDK는 기기 데이터 지속성을 위해 Realm Core 데이터베이스를 사용합니다. Node.js SDK를 설치하면 패키지 이름에 Realm 이름이 반영됩니다.
옵션 지정
realm-swift
패키지 옵션에서 Dependency Rule
를 로 설정하고 Up to Next Major Version
현재 Realm Swift SDK 버전 을(를) 입력하는 것이 좋습니다. . 그런 다음 Add Package
을(를) 클릭합니다.
(선택 사항) RealmSwift를 동적 프레임워크로 빌드하기
SDK에서 제공하는 개인정보처리방침을 사용하려면 RealmSwift
을 동적 프레임워크 로 빌드 합니다. RealmSwift
을(를) 정적 프레임워크 로 빌드 하는 경우 자체 개인정보처리방침을 제공해야 합니다.
RealmSwift
을(를) 동적 프레임워크로 빌드하려면 다음을 수행합니다.
Targets 프로젝트 에서 빌드 대상을 선택합니다.
General 탭으로 이동합니다.
Frameworks and Libraries 요소를 확장합니다.
RealmSwift
프레임워크 의 경우 Embed 옵션을 '임베딩 안 함'에서 '임베딩 및 서명'으로 변경합니다.
이제 Xcode는 RealmSwift
을 동적으로 빌드하고 SDK에서 제공하는 개인정보보호 매니페스트를 제공할 수 있습니다.
CocoaPods 로 설치하는 경우 , CocoaPods 1 가10 필요합니다. .1 또는 그 이후 버전.
Podfile에 SDK를 종속성으로 추가하기
메인 및 테스트 대상에 pod 'Realm', '~>10'
줄을 추가합니다.
use_frameworks!
줄도 아직 없는 경우 추가합니다.
완료되면 Podfile은 다음과 같이 표시됩니다.
# Uncomment the next line to define a global platform for your project # platform :ios, '11.0' target 'MyDeviceSDKProject' do # Comment the next line if you don't want to use dynamic frameworks use_frameworks! # Pods for MyDeviceSDKProject pod 'Realm', '~>10' target 'MyRealmProjectTests' do inherit! :search_paths # Pods for testing pod 'Realm', '~>10' end end
아직 없는 경우 use_frameworks!
줄을 추가합니다.
메인 및 테스트 대상에 pod 'RealmSwift', '~>10'
줄을 추가합니다.
완료되면 Podfile은 다음과 같이 표시됩니다.
platform :ios, '12.0' target 'MyDeviceSDKProject' do # Comment the next line if you don't want to use dynamic frameworks use_frameworks! # Pods for MyDeviceSDKProject pod 'RealmSwift', '~>10' end
CocoaPods에서 생성된 .xcworkspace
파일사용
CocoaPods가 .xcworkspace
파일 을 생성합니다. 이 파일 에는 모든 종속성이 구성되어 있습니다. 이제부터는 .xcodeproj
파일 이 아닌 이 파일 을 열어 프로젝트 에서 작업합니다.
카르타고 로 설치하는 경우 , Carthage 0 가33 필요합니다. 이상.
프로젝트에 프레임워크 추가
카르타고는 빌드된 종속성을 Carthage/Build
디렉토리에 배치합니다.
Xcode에서 프로젝트의 xcodeproj
파일을 엽니다. 프로젝트 네비게이터 패널로 Go 하여 애플리케이션 이름을 클릭하여 프로젝트 설정 편집기를 엽니다. General 탭을 선택합니다.
Finder에서 Carthage/Build/
디렉토리를 엽니다. 해당 디렉토리에 있는 RealmSwift.xcframework
및 Realm.xcframework
파일을 프로젝트 General 설정의 Frameworks,
Libraries, and Embedded Content 섹션으로 드래그합니다.
프레임워크 다운로드 및 추출
Swift SDK의 최신 릴리스를 다운로드합니다. 그리고 zip을 추출합니다.
팁
Swift 프로젝트 내에서 Objective-C API 를 사용하는 경우 프로젝트에 Realm Swift와 Realm Objective-C 를 모두 포함하는 것이 좋습니다. Swift 파일 내에서 Swift API 및 모든 필수 래퍼에 액세스할 수 있습니다. 대부분의 RealmSwift 유형은 해당 -C 유형에서 직접 별칭이 지정되기 때문에 Swift/ 혼합 프로젝트에서 RealmSwift 를 사용할 수 API Objective-C Objective-C 있습니다.
SDK 가져오기
팁
Atlas Device SDK 및 Realm
SDK는 기기 데이터 지속성을 위해 Realm Core 데이터베이스를 사용합니다. Swift SDK를 임포트할 때 패키지 이름은 Realm 이름을 반영합니다.
SDK를 사용하려면 소스 파일 상단에 다음 줄을 추가하세요.
import RealmSwift
앱 다운로드 파일 크기
SDK는 앱 다운로드 크기에 약 5~8 MB만 추가해야 합니다. 당사가 배포하는 릴리스는 iOS, watchOS 및 tvOS 시뮬레이터, 일부 디버그 기호 및 비트코드에 대한 지원을 포함하기 때문에 훨씬 더 크며, 이 모든 것은 앱이 다운로드될 때 App Store에서 자동으로 제거됩니다.
문제 해결
이러한 방법 중 하나를 사용하여 SDK를 설치한 후 빌드 문제가 발생하는 경우 문제 해결 가이드라인에서 해당 문제를 해결하는 방법에 대한 정보를 확인하세요.
OS 지원
중요
tvOS와 함께 SDK를 사용할 때는 특별히 고려해야 할 사항이 있습니다. 자세한 내용은 tvOS용 빌드를 참조하세요.
Xcode 15
버전 10.50.0에서 변경됨: 최소 필수 Xcode 버전은 15.1입니다.
지원되는 OS | Realm | Atlas App Services |
---|---|---|
iOS 12.0+ | X | X |
macOS 10.14+ | X | X |
tvOS 12.0+ | X | X |
watchOS 4.0+ | X | |
visionOS 1.0+ | X | X |
Xcode 14
버전 10.50.0에서 변경됨: Xcode 14 에 대한 지원이 제거되었습니다.
Swift SDK 버전 10.50.0 Xcode 14 에 대한 지원을 중단합니다. v10.49.3 이전 버전에는 다음 Xcode 14 요구 사항이 적용됩니다.
Xcode 버전 14 1. 이상입니다.
Xcode 14 를 사용하는 경우 iOS 11.0 이상, macOS 10.13 이상, tvOS 11.0 이상 또는 watchOS 4.0 이상의 대상입니다.
스위프트 동시성 지원
Swift SDK는 Swift의 동시성 관련 언어 기능을 지원합니다. Swift SDK의 동시성 기능 사용에 대한 모범 사례는 아래 문서를 참조하세요.
비동기/대기 지원
Realm Swift SDK 버전 10.15.0 및 10.16.0부터 많은 Realm API가 Swift async/await 구문을 지원합니다. 프로젝트는 다음 요구 사항을 충족해야 합니다.
Swift SDK 버전 | Swift 버전 요구 사항 | 지원되는 OS |
---|---|---|
10.25.0 | Swift 5.6 | iOS 13.x |
10.15.0 또는 10.16.0 | Swift 5.5 | iOS 15.x |
앱이 async/await
컨텍스트에서 Realm에 액세스하는 경우 코드를 @MainActor
(으)로 표시하여 스레드 관련 충돌을 방지합니다.
Swift SDK의 비동기/대기 지원에 대한 자세한 내용은 Swift 동시성: 비동기/대기 API를 참조하세요.
행위자 지원
Swift SDK는 행위자 격리 영역 인스턴스를 지원합니다. 자세한 내용은 행위자와 함께 Realm 사용 - Swift SDK를 참조하세요.
Apple 개인정보 취급방침
버전 10.49.3에서 변경됨: 개인정보보호 매니페스트를 포함하는 동적 프레임워크로 RealmSwift를 빌드합니다.
Apple은 RealmSwift
를 사용하는 앱에 SDK의 데이터 수집 및 사용 관행에 대한 세부 정보가 포함된 개인정보 보호 매니페스트를 제공하도록 요구합니다. App Store에 새 앱이나 앱 업데이트를 제출할 때 번들로 제공되는 매니페스트 파일을 포함해야 합니다. Apple의 요구 사항에 대한 자세한 내용은 예정된 타사 SDK 요구 사항 을 참조하세요. Apple 개발자 웹사이트에서 확인할 수 있습니다.
Swift SDK 버전 10.46.0부터 SDK는 Realm
및 RealmSwift
에 대한 개인정보 취급방침과 함께 제공됩니다. 각 패키지에는 Apple의 필수 API 공개와 해당 API를 사용하는 이유가 포함된 자체 개인정보 보호 매니페스트가 포함되어 있습니다.
각 패키지 또는 realm-swift
Github 리포지토리에서 개인정보처리방침을 볼 수 있습니다.
Realm
: https://github.com/realm/realm-swift/lob/master/Realm/PrivacyInfo.xcprivacyRealmSwift
: https://github.com/realm/realm-swift/blob/master/RealmSwift/PrivacyInfo.xcprivacy
RealmSwift
을 사용하는 빌드 대상에 이러한 매니페스트를 포함하려면 RealmSwift
을 동적 프레임워크로 빌드해야 합니다. 자세한 내용은 Swift Package Manager 설치 지침 단계 (선택 사항) RealmSwift를 동적 프레임워크로 빌드 하기를 참조하세요.
Swift SDK는 앱 스토어용 빌드에 애널리틱스 코드를 포함하지 않습니다. SDK는 자체적으로 Atlas에 로그인하지 않습니다.
앱 클라이언트 초기화 등 앱 서비스 기능을 사용하는 앱을 작성하는 경우
이러한 API를 사용할 때 앱의 개인정보 처리방침에 데이터 수집 및 사용 관행을 자세히 설명하는 추가 공개가 필요할 수도 있습니다.
자세한 내용은 Apple의 개인정보처리방침 파일 문서를 참조하세요.