Flutter: CocoaPod에서 패키지를 설치할 때 발생한 오류 해결

바코드를 스캔하는 과정을 공부하고 싶어 공식 사이트에서 flutter_barcode_scanner 2.0.0 의 샘플 앱을 다운로드한 후 문서대로 pod install 를 하면 경고가 발생.

[!] Automatically assigning platform `iOS` with version `12.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.

[!] CocoaPods did not set the base configuration of your project because your project already has a custom config set. In order for CocoaPods integration to work at all, please either set the base configurations of the target `Runner` to `Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig` or include the `Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig` in your build configuration (`Flutter/Release.xcconfig`).

[!] Your project does not explicitly specify the CocoaPods master specs repo. Since CDN is now used as the default, you may safely remove it from your repos directory via `pod repo remove master`. To suppress this warning please add `warn_for_unused_master_specs_repo => false` to your Podfile.

이 상태에서 ios의 실제기에 빌드하면 에러가 발생.
Xcode build done.                                           10.6s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **


Xcode's output:
↳
    note: Using new build system
    note: Building targets in parallel
    note: Planning build
    note: Analyzing workspace
    note: Constructing build description
    note: Build preparation complete
    /(ファイルの場所)/flutter_barcode_scanner-2.0.0/example/ios/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.5.99. (in target 'Flutter' from project 'Pods')
    error: No profiles for 'com.amolg.flutterBarcodeScannerExamplePOC' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'com.amolg.flutterBarcodeScannerExamplePOC'. Automatic signing is disabled and unable to generate a profile. To enable automatic signing, pass -allowProvisioningUpdates to xcodebuild. (in target 'Runner' from project 'Runner')

Could not build the precompiled application for the device.

Error launching application on iPhone.


조치 1 IOS 버전 지정



Podfile을 선택하고 두 번째 줄의 주석 처리 된 코드를 활성화하고 수동으로 버전을 지정합니다. 에러 내용을 보는 한, 9.0~14.5.99까지의 버젼으로 한다.


Swift로 개발했을 때 데이터베이스 관리 시스템 RealmCocoaPod로 설치할 때도 같은 오류가 발생했습니다. 버전 지정은 수동으로 실시하지 않으면 에러가 되는 것 같다.

조치 2 CocoaPod의 .xcconfig라는 구성 파일의 내용을 Flutter에 반영 할 수 있습니다.



Flutter는 CocoaPod와는 별도로 .xcconfig 파일을 독자적으로 소유하고 있어 디폴트 상태라면 CocoaPod에서 변경한 내용이 반영되지 않기 때문에, 그것을 할 수 있도록 해당 파일에 코드를 추가한다.example/ios/Flutter/Release.xcconfig 에 다음 코드 추가
#include "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"



참고 기사 : Flutter에서 CocoaPods 라이브러리 사용

조치 3 Xcode에서 IOS 프로젝트를 열고 Signing&Capabillities 페이지에서 발생하는 오류 해결




Team의 항목이 Unknown Name이 되었으므로 자신의 계정으로 변경한다.
다른 기사를 본 바, Team 위에 있는 Aoutomatically manage signing 의 체크를 해제하면 치유하는 경우도 있다고 합니다.

그리고는 example/ios/pod update 를 하고 나서 빌드하면 성공했습니다.

참고로 한 기사에 의하면, 이 패키지에 한정한 것은 아닌 것 같습니다.
또, Firebase에 관계하는 패키지의 경우는 또 다른 처리를 해야 하기 때문에, 앞으로도 이러한 에러와 싸워 가게 될 것 같습니다. . .

좋은 웹페이지 즐겨찾기