기본 모듈에서 Swift 확장 프로그램 API를 사용하도록 이전

Swift 네이티브 API를 더 광범위하게 제공하고 향후 새로운 Swift 언어 기능에 대한 지원을 강화하기 위해 Swift 확장 프로그램 SDK를 기본 SDK에 병합합니다. 적용되는 변경사항과 프로젝트에 미치는 예상 영향이 아래에 설명되어 있습니다.

변경되는 사항

Apple용 Firebase SDK 10.17.0부터 Swift 확장 프로그램 SDK가 해당하는 기본 SDK에 병합되었습니다. 예를 들어 FirebaseFirestoreSwift 모듈의 모든 API가 FirebaseFirestore에 추가되었으므로 더 이상 이러한 API에 액세스하기 위해 FirebaseFirestoreSwift 모듈을 가져올 필요가 없습니다.

이제 모든 Swift 확장 프로그램이 기본 모듈의 일부이므로 확장 프로그램 SDK는 더 이상 필요하지 않으며 지원 중단되었습니다. Swift 확장 프로그램 SDK를 포함하거나 사용하면 컴파일러 경고가 표시되며 빠르면 2024년 2월부터 Swift 확장 프로그램 출시가 완전히 중단됩니다.

★ 참고: Swift 확장 프로그램의 현재 또는 이전에 출시된 버전은 계속 작동합니다. 하지만 계속 수정사항을 받고 변경사항과 새로운 기능을 활용하려면 기본 모듈에서 Swift API를 사용하도록 앱을 이전하는 것이 좋습니다.

이 변경사항과 관련된 중요 날짜

2023년 10월

Swift 확장 프로그램 SDK는 기본 SDK로 병합된 후 지원 중단되고 기본 SDK로 대체되었습니다. 이 변경사항을 알리는 버전 10.17.0의 출시 노트를 참고하세요.

이제 기본 SDK 모듈에서 직접 Swift 확장 프로그램 SDK API를 사용할 수 있습니다. 확장 프로그램 SDK는 다음 주 버전 출시까지 계속 사용 가능하지만 사용 시 지원 중단 경고가 표시됩니다.

빠르면 2024년 2월 이후

Swift 확장 프로그램의 새 버전이 출시되지 않고 Firebase의 Package.swift에서 Swift 확장 프로그램이 삭제됩니다. 이전 버전은 계속 작동하지만 업데이트를 수신하지 않습니다.

기본 모듈에서 Swift 네이티브 API를 사용하도록 이전하는 방법

현재 Swift 확장 프로그램 SDK를 사용하지 않는 경우 별도의 조치를 취하지 않아도 됩니다. Swift 확장 프로그램 SDK를 사용하는 경우 프로젝트를 다음과 같이 변경합니다.

작업공간의 변경사항

Swift Package Manager

Firebase를 버전 10.17.0 이상으로 업데이트한 후 대상 설정의 일반 탭에서 프레임워크, 라이브러리, 삽입된 콘텐츠 섹션으로 이동하고 Swift 확장 프로그램 SDK(예: FirebaseFirestoreSwift)를 삭제합니다.

CocoaPods

Firebase를 버전 10.17.0 이상으로 업데이트한 후 Podfile로 이동하여 대상의 프레임워크 섹션 추가에 프로젝트의 종속 항목에 해당하는 줄을 삭제하고 Swift 확장 프로그램 SDK(예: 포드 FirebaseFirestoreSwift)를 삭제합니다. 그런 다음 pod install 명령어를 다시 실행합니다.

ZIP 배포 및 Carthage

Firebase를 버전 10.17.0 이상으로 업데이트한 후 프로젝트 내의 Swift 확장 프로그램 xcframeworks(예: FirebaseFirestoreSwift.xcframework)를 삭제합니다.

소스 코드 변경사항

이전에 사용한 모든 Swift 확장 프로그램 SDK에 대해 다음 작업을 수행합니다.

  1. Swift 확장 프로그램 SDK를 참조하는 모든 import 문을 삭제합니다. 기본 SDK를 별도로 가져오지 않은 경우 줄 끝에 있는 Swift를 삭제하여 Swift 확장 프로그램 import를 기본 SDK import로 바꿔야 합니다.
  2. Swift의 명시적 모듈 네임스페이스를 사용하여 Swift 확장 프로그램 SDK 유형을 참조한 경우 이를 상응하는 기본 SDK로 바꿔야 합니다. 예를 들어 FirebaseFirestoreSwift.QueryPredicateFirebaseFirestore.QueryPredicate로 바꿔야 합니다.