Flutter에서 iOS 빌드를 할때 아래와 같은 에러가 발생하는 경우가 있다. Error output from Xcode build: ↳ 2023-03-29 17:52:43.422 xcodebuild[74210:1568477] [MT] IDEFileReferenceDebug: [Load] Failed to load container at path: /Users/hercules/Library/Developer/Xcode/DerivedData/Runner-euogrsxqehguwdcuwnuyypclfmdp/SourcePackages/checkouts/swift-protobuf/Sources/protoc-gen-swift/Docs.docc, Error: Error Domain=com.apple.dt.IDEC..
Development/Flutter
flutter_inappwebview 라이브러리를 사용하다 아래와 같은 에러가 발생했어요. swift 파일에서 발생한 문법에러 인듯한데 public class UserScript : WKUserScript { var groupName: String? @available(iOS 14.0, *) //
iOS 앱을 업데이트 하는 중에 iPad (iOS 16.3) 버전에서 구글 로그인이 안되는 문제가 발생해서 iOS 업데이트가 거절되었네요. iPad 시뮬레이터로 테스트를 해보려는 중에 아래와 같은 문구와 함께 빌드가 실패해서 확인해본 내용을 공유합니다. warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 11.0 to 16.2.99. (in target 'GoogleSignIn' from project 'Pods') (구글 번역 - iOS 시뮬레이터 배포 대상 'IPHONEOS_DEPLOYMENT_..
TMDB OpenAPI를 사용하는 중에 response에 있는 id List값을 이용해 details 정보를 재조회를 해야하는 케이스가 생겼습니다. id List는 array이기 때문에 details 값을 재조회 하는 API call이 async로 동작하지 않더라고요 그래서 찾아보니 Future.forEach() 구문을 사용하면 된다는 내용을 보고 바로 적용해봤습니다. 저와 같이 중복으로 함수 호출을 하는 경우에 async로 동작이 되어야 하거나 그와 유사하게 호출 순서가 보장되어야 하는 경우 사용하면 좋을것 같아 공유합니다. Future.forEach() 기본적은 사용법은 아래와 같으며, void main() async { final items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10..
[App 이름 변경하기] 플러터로 만든 앱 이름을 변경해야 할 때가 있습니다. 간단하지만 자주 사용하지 않다보니 까먹기 마련입니다. 딱!! 두 가지만 기억하면 됩니다. 1. Android에서 보이는 앱 이름 : AndroidManifest.xml 파일 label 수정 . . . 2. iOS에서 보이는 앱 이름 : Info.plist 파일의 CFBundleName 수정 http://www.apple.com/DTDs/PropertyList-1.0.dtd"> . . . CFBundleName 메타코드 . . . [PackageName 변경하기] 1. Android - androidmanifest.xml 3종세트 변경 : /android/app/src/main/, /android/app/src/debug/, /..
다음 프로젝트에서는 Map을 기반으로 한 기능이 추가될 예정이기에 Map과 관련된 정보들을 작성해보려고 합니다. 플랫폼으로 GoogleMap을 사용할지 MapBox를 사용할지 결정하진 않았지만 GoogleMap은 많이 써봤으니 당분간은 MapBox 위주로 스터디를 진행할 예정입니다. * 관련 링크 1. Flutter 앱에서 MapBox 사용하기 : https://www.youtube.com/watch?v=hZwrcOTxDJI 2. leaflet.js (Map에 관련된 오픈소스 JS 라이브러리) : https://leafletjs.com/ 3. flutter_map (leaflet.js를 기반으로 하는 Flutter용 매핑 패키지) : https://pub.dev/packages/flutter_map : ..
베이비스푼을 개발하면서 상태관리 툴로 GetX를 사용했습니다. 오늘은 GetX를 사용하면서 자주 사용했던 용법들을 몇가지 정리해보려고 합니다. (몇시간 정리했던 내용이 세션 만료로 인해 날아가는 불상사가 발생했네요 ㅠ,ㅠ) 1. Get.toNamed() - Navigation.pushNamed() 동일 - GetPage()로 미리 등록해놓은 페이지의 name을 이용하여 Navigation Stack에 push 한다. 이후 Get.back()으로 이전 페이지로 돌아올 수 있다. - arguments를 이용하여 필요한 정보를 전달하여 처리할 수 있다. // toNamed 예제 Get.toNamed(Routes.SCREEN_HOME, arguments: {'isNewBaby': babyModel}) // ar..
2022년 8월 31일 (현지시간) 오슬로에서 Flutter Viking에서 Flutter 3.3을 발표했다. 이번 발표에서 소개된 주요 내용들은 다음과 같다 1. 머테리얼 디자인 3 지원 2. iOS 지원 강화 : iPad의 스크리블 필기 지원 : 선택 가능한 텍스트 그룹화 : 트랙패드 지원 3. Dart 2.18 포함 4. TextEditingDeltas 4. Impeller (차세대 렌더링 레이어) 소개 : Skia 엔진 코드를 대체할 차세대 렌더링 레이어 : iOS (Metal), Android (Vulkan)과 같은 최신 하드웨어 가속 그래픽 API를 최대한 사용하는 사용자 지정 런타임으로 대체 : 앱의 프레임 속도가 60Hz 혹인 그 이상의 refresh 속도로 고정된 상태를 유지할 수 있다...