Xcode 13.4 베타를 사용하여 Catalina 10.15.4 베타로 업데이트 한 후 Simulator를 13.4 (921.4)로 업데이트했습니다.
응용 프로그램은 물리적으로 연결된 장치에서 올바르게 컴파일되고 실행되지만이 단계를 통과 할 수있는 장치의 시뮬레이터는 없습니다.
나는 오류를 얻었다
iOS 용으로 구축되었지만 링크 및 임베디드 프레임 워크 ‘App.framework’는 iOS 시뮬레이터 용으로 제작되었습니다.
또는
iOS 시뮬레이터 용으로 구축되었지만 연결된 내장 프레임 워크 ‘App.framework’는 iOS 용으로 제작되었습니다.
이 문제를 어떻게 해결할 수 있습니까?
답변
Xcode 11.4는 프레임 워크의 링크 및 임베드 방식을 변경했으며 iOS 디바이스와 시뮬레이터 간 전환에 문제가 발생할 수 있습니다. Flutter v1.15.3 이상은 Xcode 프로젝트를 자동으로 마이그레이션합니다.
막히려면 아래 지침을 따르십시오.
- 빠른 수정 (시뮬레이터 작동)
rm -rf ios/Flutter/App.framework
-
수동으로 마이그레이션하는 공식 권장 단계
-
다음과 같이 러너 대상 빌드 설정 빌드 단계> Thin Binary 스크립트를 변경하십시오.
/ bin / sh “$ FLUTTER_ROOT / packages / flutter_tools / bin / xcode_backend.sh”포함
/ bin / sh “$ FLUTTER_ROOT / packages / flutter_tools / bin / xcode_backend.sh”thin
-
러너 대상 빌드 설정> 기타 링커 플래그에서
(OTHER_LDFLAGS) $ (상 속됨) -framework Flutter 추가
그것이 도움이되기를 바랍니다!
답변
Xcode 11.4는 프레임 워크의 링크 및 임베드 방식을 변경하여 iOS 장치와 시뮬레이터 간 전환 문제를 발생시킵니다.
프로젝트를 마이그레이션하는 방법에 대한 공식 가이드 를 따르십시오 .
답변
Xcode 11.4로 업데이트되었습니다. iOS 13.4, Iphone X. 앱은 API를 사용하여 데이터를 가져옵니다. 앱이 흰색 화면에서 시작된 후 시뮬레이터와 장치에서 모두 충돌합니다.
나는 (또한 i를 offical 한 가이드를 따라 rm -rf ios/Flutter/App.framework
)
flutter.dev/docs/development/ios-project-migration . 나는 여러 번 달렸다flutter clean
또한 Pods / 폴더와 Podfile.lock을 삭제 한 다음 pod install
ios 폴더에서 다시 설치하려고했습니다 .
비동기 데이터를 사용함에 따라 main ()에서 첫 번째 줄로 추가했습니다.
WidgetsFlutterBinding.ensureInitialized();
도움말이 없습니다. 앱이 시뮬레이터를 시작하지 않았습니다.
그럼 난 제거 ios/
및 android/
폴더. 그 후 프로젝트 폴더에서 flutter create .
언급 된 폴더를 재생성하는 명령 을 실행 했습니다.
이 후 내 응용 프로그램은 시뮬레이터와 장치에서 모두 잘 시작되었습니다. 이것이 다른 사람들에게 도움이되기를 바랍니다. 노트!! 해당 폴더를 수동으로 수정 한 경우 미리 백업하거나 커밋하십시오.
답변
며칠 후 iOS 기기에서 Flutter 앱을 테스트하는 솔루션을 찾으려고 노력한 끝에 마침내 다음과 같은 사실을 발견했습니다.
flutter clean
flutter build ios
-xCode를 열고 장치에서 앱을 실행하십시오.
답변
나는 flutter의 공식 웹 사이트에서 해결책을 시도했지만 그것은 효과가 없었기 때문에 나를 위해 일한 임시 해결책을 찾았지만 약간의 노력이 필요했습니다. 새 프로젝트 (시뮬레이터에서 처음 실행)
-
fluter 프로젝트 내에 “ios_simulator”및 “ios_real_device” 라는 2 개의 폴더를 만들었습니다 .
여기에 이미지 설명을 입력하십시오 -
이제 첫 번째 빌드는 시뮬레이터 용이고 실제 장치로 전환하고 싶습니다. Flutter 프로젝트 내의 ios 폴더를 “ios_simulator”로 옮깁니다.
- Visual Studio 코드로 프로젝트를 열고 “flutter create”를 실행합니다. 이제 프로젝트를 다시 빌드 할 실제 장치를 선택하겠습니다 (시뮬레이터가 온라인 인 경우 종료하십시오).
여기에 이미지 설명을 입력하십시오 - 이제 빌드가 완료 될 때까지 기다렸다가 실제 장치에서 오류없이 실행합니다. 이제 시뮬레이터 용 2 개의 iOS 프로젝트 1과 실제 장치 용 1이 있습니다.
- 다음에 시뮬레이터에서 다시 실행하려면 현재 ios 폴더를 제거하고 “ios_simulator”에 배치 한 ios 폴더를 다시 flutter 프로젝트 폴더로 복사합니다. 이 도움을 바랍니다
답변
flutter를 버전 1.15로 수동 업그레이드하면이 문제도 해결됩니다. 달리는 flutter version v1.15.17
것이 나를 도왔다.
또한 명령 을 실행 하여 beta
또는 dev
채널로 전환 할 수 flutter channel
있지만 모든 BC 변경 사항에 대해 코드를 확인하십시오 …
답변
제 경우에는 시뮬레이터 (디버그) 만 작동합니다. 앱 스토어 (릴리스)에 앱을 배포하려면 다음을 사용하여 플러터 버전을 업그레이드하는 것이 좋습니다.
flutter version v1.15.17
그렇지 않으면 흰색 화면에서 앱이 다운 될 수 있습니다.
Flutter 버전을 업그레이드하면 모든 것이 잘 작동합니다.