일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- flutter web
- BloC
- Swift
- 갤럭시폴드
- IOS
- reject
- Equatable
- TextInputFormatter
- abstact
- reactivex
- FocusNode
- struct
- SHIMMER
- fastlane
- Codepush
- 무선빌드
- MVVM
- error
- copy on write
- PG결제
- 글자깨짐
- DevTools
- 성능 개선
- Android
- FLUTTER
- appstore
- Codemagic
- python3
- GetX
- shorebird
- Today
- Total
목록분류 전체보기 (36)
뚝딱뚝딱 모바일
안녕하세요. 저번에 겪었는데, 또 잊고 헤맸던 오류를 만나서 정리해두려고 합니다. 어떤 상황에서 발생하나? Flutter iOS 빌드했을 시에, 앱이 제대로 빌드되지 않을 때, Xcode에서 표출되는 오류입니다. 어떻게 해결하나? 일단 스택오버플로우에서 나온 방법대로 해보아야 합니다. Framework 'Pods_Runner' not found I am trying to run the flutter app but getting this error same issue here but none helped Launching lib/main_dev.dart on iPhone 15 in debug mode... main_dev.dart:1 Upgrading Pods-Runner-frameworks.sh stac..

안녕하세요. 오늘도 간단한 에러 해결법으로 글을 써봅니다. 어떤 상황에서 뜨나? 다들 프로젝트를 세팅하고 이미지나 폰트 등의 에셋을 넣기 위해 assets 폴더를 만들고, pubspec.yaml 파일에 선언해 준 경험이 있으실 겁니다. 그럴 때 잘못된 선언이나, 폴더를 찾지 못하면 뜨는 에러입니다. 어떻게 해결하나? 해결법은 매우 간단합니다. 선언문과 폴더의 위치만 확인해 주면 됩니다. 먼저 폴더는 프로젝트 폴더 하위에 "assets"이라는 이름이어야 합니다. 선언 같은 경우에는 pubspec.yaml 파일의 하단에 flutter: 로 시작하는 문단이 있습니다. 그 문단 아래에 사진과 같이 기입해 주시면 됩니다. 중요하게 여겨야 할 점은 띄어쓰기입니다. assets: 앞에 두 번의 띄어쓰기, 그 하단에서..

안녕하세요. 오늘은 간단한 팁을 알려드리겠습니다.UX에 관심 있는 분들이라면 한 번쯤 찾아보셨을 TextField Focus 이동시키는 법입니다.주로 사용하는 곳은 전화번호 인증 화면이 있을 것 같습니다.이건 제가 개발한 지구하다 앱의 인증 화면입니다. 예시 화면으로 가져와봤습니다.전화번호를 적고, 인증번호 전송버튼을 누르면 인증번호 TextField로 Focus가 바뀝니다. 되게 사소하지만, 유저 입장에서 좋은 UX라고 생각됩니다.뭐 Focus 하나 가지고... 적용하지 않아도 유저 입장에서 TextField 한번 클릭하면 되는 건데... 라는 생각이 드실 수 있습니다. 하지만, 이러한 사소한 UX들이 모여 유저 입장에서 쓰기 편하다!라는 느낌을 받을 수 있으면, 훨씬 좋은 효과 아닐까 싶습니다. 이제..
SwiftUI를 활용하여 만들다 보면, Git에서 변경된 파일로 UserInterfaceState.scuserstate 파일이 계속해서 잡히는 것을 보실 수 있을 겁니다. 이게 도대체 뭐길래 이렇게 자주 잡히지 짜증 나서 조금 찾아봤습니다. UserInterfaceState.scuserstate가 뭔데? UI 상태를 저장하고 있는 파일입니다. 파일을 제거해버리고 Xcode Preview에서 화면을 조금 건드리면 다시 파일이 생기는 것을 보실 수 있습니다. 그럼 어떻게 무시할까? 다행히 이 파일은 프로젝트를 구성하는 필수 요소가 아니라고 합니다. 복잡하게 생각할 것도 없이 gitignore에 추가해 줍시다. *.xcuserstate 이렇게 추가해 주시면, 계속 파일이 변경되었다고 깃에서 추적하지 않습니다.

안녕하세요! 다른 글들을 보시면 많이 언급하기도 했고, 개인적으로 정말 좋아하는 ReactiveX에 대해 알아보겠습니다. ReactiveX CROSS-PLATFORM Available for idiomatic Java, Scala, C#, C++, Clojure, JavaScript, Python, Groovy, JRuby, and others reactivex.io ReactiveX란? ReactiveX는 Reactive Extenstion의 줄임말로, 옵저버블 스트림을 활용한 비동기적 프로그래밍을 위한 API라고 설명할 수 있습니다. 처음 이 문장을 보시면, 단번에 이해가 어려우실 수 있습니다. 하지만 이 문장을 이해하신다면, ReactiveX (이하 Rx)의 개념을 이해하신 거나 마찬가지인 Rx를 ..

안녕하세요! 오늘은 PG 결제 웹뷰를 만들다 만난 이슈들에 대해서 적어볼까 합니다. 찾으면서 자료도 많이 없었고, 황당한 이슈도 만나서 기록해두려 합니다. PG결제 웹뷰 같은 경우에는 미리 구현된 상태였습니다. 제 개인폰에서 제가 가진 카드들로는 매우 잘된 상태였습니다. 하지만 여러 카드사를 다 테스트해보아야 했기에, 회사 다른 분들에게 테스트를 요청하였고, '대응 다 했으니 오류 안 뜨겠지~'라는 안일한 마인드로 기다리고 있었습니다. 하지만 오류는 이 생각을 비웃으며 떴고, 저를 매우 답답하게 하였습니다. 간단한 코드 설명 오류에 대해 설명드리기 전에, 간단하게 제가 짰던 코드를 먼저 알려드리겠습니다. inappwebview를 통해 웹뷰를 구성하였고, 그 안에서 Android는 shouldOverrid..

안 그래도 바쁜 연말에 App Store 리젝을 두 번이나 당했습니다. 사유는 권한을 허용하기 위해 뜨는 Alert 코멘트에 권한을 사용하는 이유에 대한 설명과 예시가 없다고 합니다. 해결 방법 info.plist에 들어가 리젝 사유가 되는 권한 부분을 찾습니다. 저희 앱은 위치 권한이 문제였습니다. 그래서 아래 두 항목의 코멘트를 수정하여 주었습니다. 여러 사람들의 자료와 이야기를 들어보니, 왜 필요한지, 어디에 사용되는지, 허용하지 않아도 앱을 쓸 수 있는지 같이 세세하게 내용을 작성하면 좋다고 합니다. (심사해 주시는 분에 따라, 허용 관점이 조금씩 다른 것 같더라고요) 이를 다 적었는데도 리젝을 당하셨다면, 어디에 사용되는지 적는 부분에서, 앱에서 표기되는 기능 이름과 같은 지 확인해 주셔도 좋을..
안녕하세요! 오늘 글은 Error가 아닌 Warning이긴 하지만, 알아두시면 좋을 것 같아 적게 되었습니다. 어떤 상황에서 뜨나? 주로, 비동기적 상황에서 context를 사용하려할 때 뜹니다. someFutureFunction().then((_) async { String example = await awaitFunction(); context.read().add(SampleEvent()); // Bloc 코드 }); 예시 코드입니다. 이렇게 async 함수 안에서 await 후에 context를 사용하는 코드가 존재한다면, 노란 밑줄이 코드 밑에 쳐지면서 Warning이 생겨납니다. 해결법 사실 해결법은 매우 쉽습니다. context를 사용하는 코드 부분을 mounted가 true일 때만, 실행해..