Flutter
-
[FLUTTER] 231123 api키 숨기기, gitignoreFlutter/FLUTTER 2023. 11. 23. 16:07
google api key 같은건 숨기지 않고 그냥 깃에 올리면 깃가디언이 등판해서 머지안해줌.. ios는 Storage.swift 활용해서 변수에 api적고 .gitignore에 Storage.swift 추가하기\ 사용할땐 Storage().googleMapApiKey 뭐 이런식으로 가져오네 구글링해서 디테일한거 다시 찾아보고 해라 android는 localProperties에 적고 쓰기.. 이것도 구글링으로 디테일한거 찾아보라 얘는 깃이그노어 안해도됨 깃이그노어에 파일을 추가했어도 그 파일이 이미 스테이징되어 있으면 깃에 올라가니까 스테이징 되어있는지 보자
-
[FLUTTER] 231106Flutter/FLUTTER 2023. 11. 6. 11:17
기기를 인식 못하면 flutter daemon이 실행중인지 확인하기 column 의 children에 ListView.builder 넣으면 왜 렌더링이 안되냐 'hasSize'오류 컬럼에서 뺴면 되는데. column의 제약조건이 필요한가? --> ListView.build를 column안에 넣을 경우, 무한히 늘어난다. itemcount를 줬는데 왜 무한히 늘어나는데? 하는 의문이 듬 --> ListView는 '스크롤'이 가능한 위젯이기 때문에 영역을 다 잡아먹기 떄문 Expanded 나 Flexible로 감싸서 구현하면 렌더링이 되긴 하는데 방향이 horizontal일 경우 수직으로도 불필요한 공간을 잡아먹는다. 그래서 제약조건을 걸어야 하는데, expanded를 container등의 위젯으로 감싸면 ..
-
[FLUTTER] 231031 TIL (xcode)Flutter/FLUTTER 2023. 10. 31. 13:38
스토어에 올라간 안드로이드 앱은 네이티브 코드(cpp)가 잘 실행되는데, 스토어에 올라간 ios 앱은 네이티브 코드에서 오류가 나던 문제 debug나 release 모드에서는 ios에서도 문제없이 됬었음. 로그파일을 남기는 방식으로 디버깅하여 testflight에서 오류가 나던 원인을 찾아본 결과, native 코드의 symbol을 찾지 못한다는 에러 메시지를 뽑아냈음. 우선 뇌피셜 추측으로는, 네이티브 코드의 빌드가 제대로 안되었던게 아닌가? 싶었는데, 확실하지 않았고.. 해결하기 가장 어려운 문제인 디버깅이 불가능한 영역으로 넘어간 상황 스토어&테스트 플라이트와, 로컬에서 debug&release 하는 것의 차이는 xcode의 archive 유무 였기 때문에, 에러메시지를 기반으로 xcode와 연관된..
-
[FLUTTER] 231026 TILFlutter/FLUTTER 2023. 10. 26. 18:04
ios 앱에서 처음 설정했던 권한을 변경하려면 os의 설정창에서 유저가 직접 해야함 permisson handler의 openAppSetting으로 os설정창 열게 할 수 있음 appstore connect에서 언어 설정 하는것 뿐 아니라 ios/Runner.xcodeproj/project.pbxproj 파일에서 developmentRegion과 knowRegions도 바꿔줘야함 (한국 ko) 그래야 앱스토어 언어설정에 제대로 올라감
-
[FLUTTER] 231025 TILFlutter/FLUTTER 2023. 10. 25. 11:44
appstore connect에서, UIBackgroundModes key 중 persistent audio 권한을 왜 얻었는지 설명을 해달라는 피드백이 왔었음. 보통 음악플레이어 앱같은 곳에서 쓰는 기능인데 자기들은 이 앱에서 백그라운드 오디오 기능이 필요한 곳을 찾지 못했다고. 내가 알기로도 포그라운드에서만 오디오 기능이 필요한데, 왜 백그라운드 오디오까지 권한이 설정되어있지? 해서 주석으로 권한을 지우고 디버깅을 해봤다. 그랬더니 오류가 났고, 나는 otw에서 백그라운드 오디오 기능을 쓰고 있구나 라고 생각을 해버림. 하지만 실상은 otw서버가 꺼져있어서 되지 않았던 것이었음 만약 BG audio기능이 문제라고 생각하고 해결하려 했으면 삽질을 엄청 했을거다. (물론 로그 찍어보면서 다른게 원인이라는..
-
[FLUTTER] 231024 TILFlutter/FLUTTER 2023. 10. 24. 17:55
플러터에서 상속은 실체, 기능은 조합! Human .name .age .run() .eat() Man extends Human... Woman extends Human.. Ant extends Bug .run() .eat() /// 이런식으로 run(), eat()이라는 '기능'을 '상속'받도록 하면 Human이 아닌(상속받을 수 없는) /// Ant 클래스(혹은 Bug, 더 나아가 그 조상 클래스)에서는 run(), eat 등을 재정의 해야함 /////////////////////////////////////////////// Doing .run() .eat() Human .name .age Man extends Human Doing() do; do.run() do.eat() Woman extends ..