답변 2
0
안녕하세요 보내주신 메일도 확인하였습니다.
해당문제는 강의를 듣고 계시는 시점과 제가 작업을 했던 시기와 플러터 버전의 차이로 사용되는 라이브러리 역시 버전 차이가 있어서 발생되는 문제입니다.
특별히 보내주신 문제 부분은 hydrated_bloc 버전차이가 ^10.0.0 로 진행중이십니다.
확인방법은 pubspec.yaml파일을 확인해보시면 알 수 있으며 단순히 버전문제를 대응하기 위해서는
bloc 관련 버전을 다음과 같이 맞춰주시면 되겠습니다.
bloc: 8.1.1
flutter_bloc: 8.1.2
hydrated_bloc: 9.1.1
위 처럼 고정하시고 flutter clean 후 flutter pub get 하시면 문제가 해결되실 것이며 이후 강의를 들으시는 것과 큰문제는 없으실 것입니다.
만일 플러터 최신버전으로 강의를 수강하길 원하신다면 발생되는 문제 파일인 main.dart 파일의
hydrated init 하는 부분의 소스코드를 다음과 같이 수정해주시면 되겠습니다.
HydratedBloc.storage = await HydratedStorage.build(
storageDirectory: HydratedStorageDirectory(
(await getTemporaryDirectory()).path,
),
);
아무래도 강의가 최신화로 업데이트 되지 못해 수강하시는 분들에게 어려움을 겪게해드린것 같아 죄송한 마음입니다.
개인정인 사정으로 최신화 대응을 하지 못하고 있는데 조만한 플러터 최신버전에 맞게 추가 업데이트 진행하여 업데이트 하도록 하겠습니다.
다시한번 불편함을 드려서 죄송합니다.
감사합니다.
PS: 추가적으로 강의 들으시면서 발생되는 문제에 대해서 메일 주시면 빠른시일내로 확인하여 답변 드리도록 하겠습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 코딩맨님.
현재 코드를 보니, HydratedBloc.storage
설정 시 getApplicationDocumentsDirectory()
가 HydratedStorage.build()
에 직접 전달된 것 같습니다. 올바른 설정을 위해서는 이 라이브러리에서는 HydratedStorage.build()
로 생성된 Storage가 필요합니다. 또한, Dio
를 사용하는 부분에서는 올바른 인스턴스 인자 전달이 필요합니다.
비슷한 질문을 다룬 게시물을 확인하실 수 있습니다:
- “json” - 이 게시물에서는 flutter pub run build_runner 명령어와 관련된 문제를 다룹니다. g.dart 파일 생성 문제와의 유사점을 찾을 수 있습니다.
몇 가지 개선해볼 점을 제안 드리겠습니다:
1. HydratedStorage 설정:
HydratedBloc.storage = await HydratedStorage.build(
storageDirectory: await getTemporaryDirectory(),
);
이렇게 getTemporaryDirectory()
와 같은 Flutter의 기본 디렉토리를 사용해 보세요.
Dio
인스턴스 생성시에는 URL 설정 외에도 필요한 파라미터들이 정확히 설정되었는지 확인해보세요.코드의 설정 문제로 보이며, 위의 설정 변경으로 문제가 해결될 가능성이 높습니다. 추가적으로 궁금한 부분이 있으면 이어서 질문해 주세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
감사합니다!!