[Flutter] MacOS 프로그램 개발을 해보자! - 파이어베이스 연동 편

마이·2025년 3월 13일
2

트러블슈팅

목록 보기
1/1
post-thumbnail

서론

필자는 최근 지인에게 흥미로운 연락을 받았다. "항상 화면에 프로그램 관련없이 떠있을 수 있게?" 너무 재밌어보여서 그냥 내가 하기로했다. 항상 화면에 떠있어야한다 -> 네이티브 프로그램이여야한다. 라고 생각을 해서 유일하게 내가 다룰줄 아는 언어중 MacOS 그리고 Windows 프로그램을 만들 수 있는 Flutter를 채택하여 해당하는 프로그램을 만들어보기로 하였다. 그렇지만 필자는 백엔드를 다룰 줄 모르기에 Firebase를 활용하여 해당하는 프로그램을 만들고 있었는데 만드는 도중 흥미로운 에러들이 발생하여 이 글을 작성하고자 한다.

본론

사실 플러터에서 파이어베이스 연결하는 것은 밥 먹듯 하는것이라 실제 연동은 매우 쉽게 끝냈다. 맥에서 터미널을 열어

$curl -sL https://firebase.tools | bash

를 입력하여 Firebase CLI를 설치하고,

$firebase login

를 입력하여 뜨는 웹페이지에서 로그인을 진행하여 기본적인 Firebase CLI 설정을 마친 뒤,
사진에 나온 것 처럼 CLI를 활성화하고 본인의 프로젝트 코드를 포함한 명령어를 입력하여 연동을 마무리 하면 된다.

첫번째 에러

기분 좋게 연동을 마쳤으니 런을 한번 돌려보면

Error: The pod "Firebase/CoreOnly" required by the plugin "cloud_firestore" requires a higher minimum macOS deployment version than the plugin's reported minimum version.
To build, remove the plugin "cloud_firestore", or contact the plugin's developers for assistance.
Error: Error running pod install
After running the command /usr/bin/arch -arm64e xcrun devicectl list devices --timeout 5 --json-output /var/folders/st/jztbc8zs5hbg5cnkrg7fv9h00000gn/T/flutter_tools.o96hZG/core_devices.S5KJEk/core_device_list.json the file
/var/folders/st/jztbc8zs5hbg5cnkrg7fv9h00000gn/T/flutter_tools.o96hZG/core_devices.S5KJEk/core_device_list.json was expected to exist, but it did not.
The process exited with code 0 and
Stdout:

기분을 좋지 않게 해주는 친구가 마중을 나온다. 대충 해석을 해보면 cloud_firestore와 내가 설정한 MacOS 프로그램의 최소 버전이 호환되지 않는다는 내용이다.macos/Podfile에 들어가서 platform :osx, '10.14'에서 버전을 10.14에서 11.0으로 올려보자.역시나 한번에 되면 재미없죠.

Runnner/Runner/Build Settings에서 macOS Deployment Target을 10.14에서 macOS 11 Big Sur로 변경해줍니다.
그러면 이제 빌드가 됩니다!

두번째 에러

이제 빌드도 되었으니 서비스를 이용하기 위해 firebase auth를 활용하여 회원가입을 하려고 했는데
어라라..? 네트워크 오류가 발생했다고 하네요..? 이번엔 또 어떤 문제인가 찾아보니 네이티브에서 네트워크 사용 설정 권한을 주지 않아서 생기는 오류라고 합니다..

다시 Xcode를 켜고
Runner/Runner/Signing & capabilities에 App Sandbox에 있는 Incoming Connections (Server) 와 Outgoing Connections (Client)를 모두 활성화해줍니다.그러면 이제 멀쩡히 작동을 할 줄 알았더니..?
어머나 키체인에 접근하는 중 에러가 발생했다고 하네요.
다시 Runner/Runner/Signing & capabilities에서 + capability를 누르고 Keychain Sharing을 활성화 해줍니다.
Keychain Sharing을 활성화하니 개발자 인증이 필요하다고 해서 Team에 개발자 계정까지 등록을 해주면
드디어 firebase 로직이 정상 작동하게 됩니다!

결론

매번 만들었던 서비스 유지보수를 하거나 개발 외주만 했었는데 오랜만에 도파민 터지는 개발 주제가 생겨서 매우 좋았는데 특정 OS에서만 발생하는 에러를 찾아 도파민 팡팡터져서 글을 써보았다. 끝까지 잘 완성해서 다음 포스팅도 이어서 작성해보도록 하겠다.

profile
Multi-Platform Enginner

2개의 댓글

comment-user-thumbnail
2025년 3월 13일

이해한게 맞다면 macOS에서 제작했는데 windows가 아니라 macOS에서만 에러가 발생하는게 신기하네요

1개의 답글