반응형
개인적으로 Flutter에서만큼은 진짜 실제 기기 빌드는 Android가 짱짱인 것 같다.
하지만 그렇다고 iOS 실기기 빌드를 안 해볼 수는 없는데, 이렇게 항상 빌드할 때마다 온갖 벽에 가로막히곤 한다..
매번 이것저것 방법 시도하다가 얼렁뚱땅 되곤 하다보니 같은 문제가 나와도 또 이거저거 시도하게 되는 반복 작업이 있는 터라 하나하나 생길 때마다 정리해보려고 한다.
1. LoadError - cannot load such file -- ffi_c 어쩌구
iOS 개발자에겐 익숙할 pod 에러다
본인 같은 경우는 M1 사용하고 있어서 x86으로 pod install 해주면 해결됐음
사실 이런 문제 때문에 터미널은 일부러 Rosetta로 실행하도록 설정해서 쓰고 있는데, 역시 안스에서는 따로 해줘야 하나 부지..
arch -x86_64 pod install
(+참고로 gem 아키텍쳐가 m1이라면 그것부터 변경해줘야 할것)
sudo arch -x86_64 gem install ffi
2. Ambiguous use of 'evaluateJavaScript(_:completionHandler:)'
Flutter 패키지 중 하나인 flutter_inappwebview에서 발생하는 에러다.
6.1.0 버전에서는 패치되었다는 말이 있는 것 같기도 한데, 만약 버전을 업그레이드 해줄 수 없는 상황이라면?
에러 발생하는 곳을 직접 수정해주는 수밖에.
Xcode에서 에러 발생했다는 ```evaluateJavaScript``` 타고 점프하면 아래 함수 원형을 찾을 수 있다.
completionHandler 부분에 아래처럼 @MainActor 하나만 추가해준 뒤 다시 빌드하면 해결 완료
public override func evaluateJavaScript(_ javaScriptString: String, completionHandler: (@MainActor (Any?, Error?) -> Void)? = nil) {
if let applePayAPIEnabled = settings?.applePayAPIEnabled, applePayAPIEnabled {
if let completionHandler = completionHandler {
completionHandler(nil, nil)
}
return
}
super.evaluateJavaScript(javaScriptString, completionHandler: completionHandler)
}
다만 pod 내부 코드 직접 수정한거라 라이브러리 다시 가져올 때마다 수정해줘야 하겠지..?
- 계속 업데이트 중 -
<도움 받은 링크들>
728x90
반응형
'개발노트 > Flutter' 카테고리의 다른 글
Flutter 프로젝트에서 Google Login 설정하기 (2) | 2024.11.16 |
---|---|
Flutter 프로젝트에서 Firebase 이용하기 (공통 설정) (1) | 2024.11.14 |
Flutter의 Navigation(화면 전환) - GoRouter 패키지 (1) | 2024.11.09 |
앱 개발자 계정 변경 (ver. Flutter) (5) | 2024.11.08 |
Firebase Console 프로젝트 변경 (ver. Flutter) (2) | 2024.11.07 |