[Flutter] ios 셋팅 수정 및 다양한 상황에서 문제 해결하기
2023. 3. 27. 23:27ㆍDevelopers 공간 [Shorts]/Frontend
728x90
반응형
<분류>
A. 수단
- OS/Platform/Tool : Linux, Kubernetes(k8s), Docker, AWS
- Package Manager : node.js, yarn, brew,
- Compiler/Transpillar : React, Nvcc, gcc/g++, Babel, Flutter
- Module Bundler : React, Webpack, Parcel
B. 언어
- C/C++, python, Javacsript, Typescript, Go-Lang, CUDA, Dart, HTML/CSS
C. 라이브러리 및 프레임워크 및 SDK
- OpenCV, OpenCL, FastAPI, PyTorch, Tensorflow, Nsight
1. What? (현상)
could not build the precompiled application for the device
혹은
Parse Issue (Xcode) : Could not build module 'FBLPromises'
등
갑자기 iOS를 위한 컴파일 도중 에러가 발생할 때마다 대응해주는 방법을 정리하고자 합니다.
저의 경우 보통은, Info.plist 파일을 수정하거나, Xcode의 셋팅이 바뀌었을 때 이런일이 일어나곤 합니다.
2. Why? (원인)
- X
3. How? (해결책)
- 아래 에러메시지 이외에도 다양한 에러 상황에서 iOS의 빌드 캐시를 삭제하고 다시 만들어야하는 상황이 있습니다. 아래 과정 이후에 flutter run을 실행하면 Pods폴더가 다시 생성됩니다.
Error (Xcode) : 12 duplicate symbols for architecture arm64
cd ios/
rm Podfile.lock
rm Podfile
rm -rf Pods
pod cache clean --all
flutter run
- 아래 에러메시지 이외에도, 단순히 라이브러리를 재설치해야 할 때도 있습니다. 즉, Podfile.lock에 리스트된 라이브러리에 대해 Podfile을 참조해 설치하곤 하는데, Podfile.lock을 삭제하지 않으면 새로운 버전을 확인하지 않기 때문에, Podfile.lock을 삭제하고 다시 라이브러리들을 설치하는 것입니다.
CocoaPods's specs repository is too out-of-date to satisfy dependencies.
To update the CocoaPods specs, run:
pod repo update
cd ios/
rm Podfile.lock
pod install
- Flutter 캐시를 삭제하고 Flutter dependency를 다시 설치해야하는 경우도 있습니다.
flutter clean
flutter pub get
- 가끔 중간에 앱을 지우고 다시 진행하는 경우 "신뢰하지 않는 개발자" 메시지가 나오면 "설정>일반>기기관리>해당앱"에 들어가면 신뢰가 다시 풀려있는 것을 볼 수 있습니다. 이것을 다시 신뢰해 주면됩니다.
- 단순히 Xcode가 멈추면서 실행이 되지 않을 때도 있습니다.이 때는 Xcode의 빌드 캐시를 전부 지워주고 다시 한번 빌드해보거나, 기다리면 다시 될 떄도 있습니다.
rm -rf ~/Library/Developer/Xcode/DerivedData/[app folder]
rm -rf ios/Runner.xcodeproj/xcuserdata
rm -rf ios/Runner.xcodeproj/project.xcworkspace/xcuserdata
- iOS 빌드를 하기 위해서는 certificate가 필요하고, 이를 활용한 iOS Team Provisioning Profile이 필요합니다. 하지만 이는 6일마다 expire 되기 때문에 아래와 같은 에러가 납니다.
- 이때 그냥 open ios/Runner.xcworkspace 명령어를 통해 Runner.xcworkspace를 열기만 하면됩니다. 이후에 Target > Runner > Signing&Capabilities 에서 Profile을 확인하면 새로운 Provisioning Profile이 만들어진 것을 확인할 수 있습니다.
- 자세한 내용은 https://tkayyoo.tistory.com/99를 참조하세요
Launching lib/main.dart on DEVICE_NAME_REMOVED in debug mode…
Automatically signing iOS for device deployment using specified development team in Xcode project: TEAM_ID_REMOVED
Running Xcode build…
Xcode build done. 5.9s
Failed to build iOS app
Could not build the precompiled application for the device.
Error (Xcode): No profiles for 'PROJECT_NAME_REMOVED' were found: Xcode couldn't find any iOS App
Development provisioning profiles matching 'PROJECT_NAME_REMOVED'.
Automatic signing is disabled and unable to generate a profile. To enable automatic signing, pass -allowProvisioningUpdates to xcodebuild.
/Path/To/PROJECT_NAME_REMOVED/ios/Runner.xcodeproj
It appears that there was a problem signing your application prior to installation on the device.
Verify that the Bundle Identifier in your project is your signing id in Xcode
open ios/Runner.xcworkspace
Also try selecting 'Product > Build' to fix the problem.
Error launching application on DEVICE_NAME_REMOVED.
open ios/Runner.xcworkspace
728x90
반응형
'Developers 공간 [Shorts] > Frontend' 카테고리의 다른 글
[Flutter] 버튼에 애니메이션 넣기 (0) | 2023.03.28 |
---|---|
[Flutter] Portrait, Landscape mode 막기 (0) | 2023.03.28 |
[Flutter] 카메라 촬영 후 보이는 그대로 저장하기 (1) | 2023.03.26 |
[Flutter] 이미지와 파일을 위한 Storage 다루기 (0) | 2023.03.25 |
[Flutter] Flutter에서 KakaoMap WebView API 활용하기 (0) | 2023.03.24 |