반응형
Xcode 16 버전 업데이트 이후 제가 겪었던 오류들과 오류들을 어떻게 해결할 수 있는지에 대해 글을 써보려고 합니다
1. clang: error: unsupported option '-G' for target 'arm64-apple-ios13-simulator'
이 오류는 Flutter 프로젝트에서 boringssl-grpc 관련 라이브러리에서 발생하는 오류 중 하나입니다.
해결을 위해서는 Podfile 파일을 수정해야 합니다.
Podfile 수정
- 파일 위치: /rootProject/ios/Podfile
- post_install 블록에 아래 코드를 추가합니다
post_install do |installer|
installer.generated_projects.each do |project|
project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
end
end
end
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
end
# Xcode 16 임시추가 부분
installer.pods_project.targets.each do |target|
if target.name == 'BoringSSL-GRPC'
target.source_build_phase.files.each do |file|
if file.settings && file.settings['COMPILER_FLAGS']
flags = file.settings['COMPILER_FLAGS'].split
flags.reject! { |flag| flag == '-GCC_WARN_INHIBIT_ALL_WARNINGS' }
file.settings['COMPILER_FLAGS'] = flags.join(' ')
end
end
end
end
# Xcode 16 임시추가 부분
end
- 이 코드를 적용한 후 터미널에서 pod install --repo-update 명령어를 실행합니다.
참고 링크
https://github.com/grpc/grpc/issues/36888
2. Method does not override any method from its superclass 오류 (inappwebview 관련)
Xcode 16 업데이트 이후 flutter_inappwebview 패키지를 사용할 때 Swift 파일에서 발생할 수 있는 오류입니다.
이 오류는 Swift 5.9로의 변경 사항 때문인데, 해당 메소드 시그니처가 변경되어서 발생합니다.
해결 방법
- 오류가 발생한 파일 위치: /rootProject/ios/.symlinks/flutter_inappwebview_ios/ios/inAppWebView.swift
- 1432번 라인에서 다음과 같이 수정합니다
기존 코드
public override func evaluateJavaScript(_ javaScriptString: String, completionHandler: ((Any?, Error?) -> Void)? = nil)
수정 코드
open override func evaluateJavaScript(_ javaScriptString: String, completionHandler: (@MainActor (Any?, (any Error)?) -> Void)? = nil)
참고 링크
https://github.com/pichillilorenzo/flutter_inappwebview/issues/2201
3. Lexical or Preprocessor Issue (Xcode): Include of non-modular header inside framework module 'firebase_messaging.FLTFirebaseMessagingPlugin' (firebase_messaging 관련)
- Xcode 실행
- Runner 클릭
- Project-Runner-Build Setting
- Allow Non-modular includes In Framework Modules - No 를 Yes 로 변경
참고 링크
https://github.com/firebase/flutterfire/issues/13342
이와 같은 문제들은 주로 Xcode 16으로 업데이트하면서 발생하는 오류들입니다.
각 오류의 원인을 파악하고, 위의 해결책을 적용하면 문제를 해결할 수 있습니다. 이 글이 여러분의 프로젝트에 도움이 되길 바랍니다.
추가적으로 오류가 더 발견되면 해결방법을 지속 정리해서 올리겠습니다.
반응형
'Flutter' 카테고리의 다른 글
Flutter Custom Shape를 알아보자 (0) | 2024.12.27 |
---|---|
Flutter Rive 애니메이션을 곁들인 (0) | 2024.12.27 |
[Flutter] Shorebird Even하게 익히기 (4) | 2024.12.23 |
[Flutter] 앱에서 iOS와 AOS에서 스크린샷 방지하기 (2) | 2024.07.23 |
[Flutter] Firebase 연동하기 (1) | 2024.06.02 |