[Flutter] ios 셋팅 수정 및 다양한 상황에서 문제 해결하기

2023. 3. 27. 23:27Developers 공간 [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

 

 

 

 

 


 

 

https://discussions.apple.com/thread/253793548

728x90
반응형