목록전체 글 (293)
민프
https://developer.apple.com/forums/thread/732335 TTS problem iOS 17 beta | Apple Developer Forums @apanda not really, unfortunately... didn't crash anymore while in foreground, but with app going in background (changing the AVAudioSession as inactive) when back in foreground (reactivating the AVAudioSession and speaking) the app crashes "more often". T developer.apple.com
개발을 하다가 Don't use 'BuildContext's across async gaps. Try rewriting the code to not reference the 'BuildContext' 라는 오류 경고를 보았습니다. 코드는 아래와 같습니다. Future success(BuildContext context) async { . . . // API 호출 수행 try { await postQuestionnaire(jsonStr); Navigator.pop(context); // 로딩 다이얼로그 닫기 Navigator.pushReplacement( context, MaterialPageRoute(builder: (context) => const RehabilitationExercisePage()),..
https://github.com/CocoaPods/CocoaPods/issues/12012 "Error 'DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead' in Xcode 15 beta 5" · Issu I've read and understood the CONTRIBUTING guidelines and have done my best effort to follow. Report What did you do? Build with Xcode15-beta5 after pod install What did you expect to happen? Build ... github.com CocoaP..
이번 포스팅에는 Flutter와 블록 라이브러리를 사용하여 사용자가 스크롤할 때 네트워크를 통해 데이터를 가져오고 로드하는 앱을 구현하겠습니다. API로는jsonplaceholder를 데이터 소스로 사용합니다 . (https://jsonplaceholder.typicode.com/posts?_start=0&_limit=2) 이번 프로젝트에서 패키지로 Equatable, Bloc Concurrency 가 있는데 사전 지식이 있으면 본 포스팅에 이해가 됨으로 참고하시길 바랍니다. 그럼 프로젝트 구조부터 알아보겠습니다. 프로젝트 구조 애플리케이션은 기능 기반 디렉터리 구조를 사용합니다. 이 프로젝트 구조를 통해 자체 포함된 기능을 통해 프로젝트를 확장할 수 있습니다. 이 예제에서는 단일 기능(게시 기능)만 있..
먼저 Stream에 대한 사전 이해가 있어야 합니다. Stream에 대해서 모르시는 분은 이전 포스팅을 참고해주시면 될 것 같습니다. 라이브러리 공식 홈페이지를 보면 Steam의 일반적인 변환 연산자를 추가하는 확장 방법 이라고 나와있습니다. 이 패키지를 사용하면 스트림의 데이터를 쉽게 수정, 필터링, 조합할 수 있습니다. 예를 들어, 특정 시간 동안 스트림의 이벤트를 묶거나, 스트림의 데이터를 변환하거나, 여러 스트림을 하나로 병합하는 등의 작업을 수행할 수 있습니다. 예제 코드를 보면서 설명해드리곘습니다. 예제 코드로는 stream_transform 라이브러리에서 제공하고 있는 debounce, buffter, throttle에 대해서 정리해보겠습니다. Debounce debounce는 스트림에서 연..
이번 포스팅은 Flutter Bloc의 비동기 이벤트 처리방식에 도움을 주는 Bloc Concurrency 라이브러리에 대해서 알아보겠습니다. 소개 Bloc Concurrency 공식홈페이지 설명에 따르면 bloc_concurrency 패키지는 ember concurrency에서 영감을 받아 만들어진 사용자 정의 이벤트 변환기를 제공하는 Dart 패키지입니다. 이 패키지는 bloc 상태 관리 패키지와 함께 사용되도록 설계되었습니다. bloc_concurrency는 bloc에서 이벤트를 처리하는 방식을 관리하는 데 도움이 되는 이벤트 변환기를 제공합니다. ember concurrency에서 영감을 받았다고 하는데 ember concurrency는 무엇일까요? ember concurrency는 쉽게 말해 비..
이번 포스팅에서는 Equatable 라이브러리에 대해서 알아보곘습니다. 결론적으로 Equatable는 Dart에서 객체의 동일성을 쉽게 비교할 수 있게 해주는 패키지입니다. 이를 확장하면 == 연산자와 hashCode 메서드를 자동으로 오버라이드할 수 있어, 객체의 동일성 비교를 간편하게 수행할 수 있습니다. 아래 소스코드와 함께 설명을 해보곘습니다. import 'package:equatable/equatable.dart'; class Person { final String name; final int age; Person({required this.name, required this.age}); } void main() { final person1 = Person(name: 'Alice', age: ..
이번 포스팅은 BLoC 패턴을 적용한 카운터 앱에 간단하게 적용해보겠습니다. 참고 예제는 공식홈페이지 예제를 참고하였습니다. https://bloclibrary.dev/#/fluttercountertutorial Bloc State Management Library Official documentation for the bloc state management library. Support for Dart, Flutter, and AngularDart. Includes examples and tutorials. bloclibrary.dev 해당 예제에서는 Cubit이라는 개념이 등장하는데 간단하게 BLoC와 장단점을 비교해보겠습니다. Cubit의 장점 간결성: Cubit은 간단하게 상태와 상태를 변경하는 ..
이번 포스팅에서는 BLoC에 대해서 알아보겠습니다. 먼저 개념에 대해서 정리하고 다음은 예제 코드를 통해서 알아보겠습니다. 소개 BLoC는 공식홈페이지에 보면 아래와 같이 나와있습니다. Bloc makes it easy to separate presentation from business logic, making your code fast, easy to test, and reusable. 해석해보면 Bloc 패턴은 프레젠테이션과 비즈니스 로직을 분리하여 코드를 빠르고, 테스트하기 쉽고, 재사용 가능하게 만드는 데 도움이 된다고 합니다. 그렇다면 BLoC의 핵심은 무엇일까요? Simple: Easy to understand & can be used by developers with varying skil..
E/flutter (12286): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Binding has not yet been initialized. E/flutter (12286): The "instance" getter on the ServicesBinding binding mixin is only available once that binding has been initialized. 이 오류는 Flutter 앱이 완전히 초기화되기 전에 서비스 바인딩을 사용하려고 할 때 발생합니다. 이 문제를 해결하려면 WidgetsFlutterBinding.ensureInitialized()를 호출하여 Flutter 엔진이 완전히 초..