Docs Menu

Flutter SDK v2.0.0으로 업그레이드합니다.

Flutter 버전 2.0.0 용 Atlas Device SDK 이전 버전에서 업그레이드하는 기존 앱에 영향을 미치는 몇 가지 호환성이 손상되는 변경을 도입합니다.

특히 이 SDK 버전은 다음과 같습니다.

  • 파트 빌더 및 SDK가 데이터 모델 클래스에 대한 파일을 생성하는 방법을 변경합니다. 이 변경 사항은 이전 버전의 SDK에서 업그레이드하는 모든 앱에 영향을 미칩니다. 자세한 내용과 지침은 이 페이지의 빌더 변경 사항 섹션을 참조하세요.

  • 여러 클래스와 멤버를 제거하거나 대체합니다. 이러한 변경 사항은 앱에 영향을 줄 수도 있고 그렇지 않을 수도 있습니다. 영향을 받는 앱에 대한 정보 및 지침은 이 페이지의 제거된 클래스 및 멤버 섹션을 참조하세요.

중요

이 변경 사항은 이전 버전의 SDK에서 업그레이드하는 모든 앱에 영향을 미칩니다.

Flutter SDK 버전 2.0.0 SharedPartBuilder PartBuilder 를 사용하도록 SDK의 realm_generator 를 업데이트합니다. 이 업데이트된 빌더는 새로운 .realm.dart 파일 확장자를 가진 RealmModel 데이터 모델 파일을 생성합니다.

버전
파일 확장자
부분 지시문 예시

SDK v2.0.0 이상

.realm.dart

part 'car.realm.dart';

SDK v1.9.0 및 이전 버전

.g.dart

part 'car.g.dart';

SharedPartBuilder 에서 PartBuilder 로 업데이트하면 앱에서 여러 빌더를 더 쉽게 사용할 수 있습니다. 예를 들어 realm_dartdart_mappable 또는 json_serializable 와 같은 직렬화 패키지 빌더와 결합합니다.

기존 앱 을 이전 버전의 Flutter SDK 에서 버전 2.0.0 이상으로 업그레이드 하는 경우 기존 부분 선언 업데이트 한 다음 새 .realm.dart 파일 확장자로 객체 모델을 다시 생성해야 합니다.

1

새로운 명명 규칙을 사용하도록 앱의 모든 RealmObject 부분 선언을 업데이트합니다.

import 'package:realm_dart/realm.dart';
// Update existing declaration from .g.dart to .realm.dart
// part 'car.g.dart';
part 'car.realm.dart';
@RealmModel()
class _Car {
@PrimaryKey()
late ObjectId id;
late String make;
late String? model;
late int? miles;
}
2

모든 선언을 업데이트한 후 새 .realm.dart 파일 확장자를 사용하여 객체 모델을 다시 생성합니다. 프로젝트에서 모든 .g.dart 파일을 안전하게 삭제할 수 있습니다.

dart run realm generate

모든 선언을 업데이트한 후 새 .realm.dart 파일 확장자를 사용하여 객체 모델을 다시 생성합니다. 프로젝트에서 모든 .g.dart 파일을 안전하게 삭제할 수 있습니다.

dart run realm_dart generate

Flutter SDK 버전 2.0.0 도 SDK에서 여러 클래스, 멤버 및 속성을 제거하거나 대체했습니다. 이러한 변경 사항은 앱 에 영향 을 줄 수도 있고 그렇지 않을 수도 있습니다.

다음 표에는 제거된 항목과 제거된 이유, 제거된 클래스 또는 멤버(있는 경우)를 사용한 앱 을 업그레이드할 때 권장되는 해결 방법이 간략하게 설명되어 있습니다.

제거된 클래스 또는 멤버
이유
솔루션

AppConfiguration.localAppName 개인정보 정책에 AppConfiguration.localAppVersion

SDK에서는 사용되지 않습니다.

모든 인스턴스를 제거합니다.

ClientResetError.isFatal

필요하지 않습니다. 항상 true.

모든 인스턴스를 제거합니다.

ClientResetError.sessionErrorCode

SDK v1.6.0 에서 SyncErrorCode 로 통합되었습니다.

SyncErrorCode 열거형 을 사용합니다.SyncError 도 참조하세요. API 참조.

Realm.logger.level

Realm.logger.setLogLevel 으로 대체되었습니다.

인스턴스를 교체합니다. 로깅 - Flutter SDK 도 참조하세요.

RealmProperty.indexed

RealmProperty.indexType 으로 대체되었습니다.

인스턴스를 교체합니다.

RealmValue.type

RealmValueType 의 열거형으로 변경되었습니다.

인스턴스를 교체합니다. RealmValue 데이터 유형도 참조하세요.

RealmValue.uint8List

RealmValue.binary 으)로 이름이 변경되었습니다.

인스턴스를 교체합니다. RealmValue 데이터 유형도 참조하세요.

SchemaObject.properties

SchemaObject SchemaProperty 의 반복 가능한 컬렉션 으로 변경되었습니다.

인스턴스를 교체합니다. SchemaObject 도 참조하세요. API 참조.

SyncError 생성자 및 SyncError.create 팩토리

동기화 오류는 SDK에서 내부적으로만 생성해야 합니다.

모든 인스턴스를 제거합니다.

SyncClientError, SyncConnectionError, SyncSessionError, SyncResolveError, SyncWebSocketErrorGeneralSyncError

SDK v1.6.0 에서 SyncError 로 통합되었습니다.

SyncError 또는 해당 하위 클래스를 사용합니다. SyncError 도 참조하세요. API 참조.

SyncErrorCategory, SyncClientErrorCode, SyncConnectionErrorCode, SyncSessionErrorCode, SyncResolveErrorCode, ``SyncWebsocketErrorCode`` 및 GeneralSyncErrorCode

SDK v1.6.0 에서 SyncErrorCode 로 통합되었습니다.

SyncErrorCode 열거형을 사용합니다. SyncError 도 참조하세요. API 참조.

SyncError.codeValue, SyncError.category, SyncError.detailedMessage

SDK v1.6.0 에서 SyncError 로 통합되었습니다. 메시지가 사용되지 않았습니다.

카테고리 또는 메시지 인스턴스를 제거합니다. SyncError.codeValueSyncError.code.code 로 바꿉니다. SyncError 도 참조하세요. API 참조.

SyncProgress.transferredBytes 개인정보 정책에 SyncProgress.transferableBytes

전송된 값과 전송 가능한 값이 올바르지 않다고 보고했습니다. 새 SyncProgress.progressEstimate 지표로 통합되었습니다.

SyncProgress.progressEstimate 을(를) 사용하세요. 동기화 업로드 및 다운로드 진행률 모니터링도 참조하세요.

User.provider

제공자가 각 ID와 연결되어 있으므로 둘 이상의 ID를 가진 사용자의 값이 잘못되었습니다.

모든 인스턴스를 제거합니다.