Xcode 컴파일 패키지 Flutter 프로젝트 문제 요약
1. 컨트롤러 출력의 오류 정보에서 일부 방법이 존재하지 않거나 이름이 없는 파라미터가 있거나 일부 변수, 파라미터가 존재하지 않는 것을 발견할 수 있다.
해결 방법: Flutter 프로젝트에서pubspec.이 ml는 문제가 발생한 플러그인의 버전 번호를 지정한 버전으로 전환합니다. 즉 ^ 기호를 제거합니다. 일부 플러그인은 최신으로 사용하면 호환되지 않는 문제가 발생할 수 있으며, Flutter 버전이 개발 프로젝트에 사용된 버전과 일치하는지 확인하십시오.
2、[VERBOSE-2:platform_view_layer.cc(20)] Trying to embed a platform view but the PrerollContext does not support embedding
해결 방법: 프로젝트 디렉토리의 IOS에서 Runner를 실행하여 Info를 수정합니다.plist
<key>io.flutter.embedded_views_previewkey>
<true/>
3、linked and embedded framework ‘App.framework’ was built for iOS Simulator linked and embedded framework ‘Flutter.framework’ was built for iOS Simulator
해결 방법: a, 수정 targets=> Build Setting=>Validate Workspace는 NOb, App. 삭제framework와 Flutter.framework 이후 다시 컴파일 실행
4, 실행 프로세스 콘솔 보고서 0x00000010f8854d5 - [JPushPlugin setup:result:] + 437 6 Runner 0x000000010f8 오류
해결 방법: 프로젝트에서 JPush 플러그인과 관련 코드를 주석하면 됩니다
5、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.0.99. (in target ‘flutter_local_notifications’ from project ‘Pods’)
해결 방법: a, 프로젝트 디렉토리에 있는 IOS, 아래 Podfile 파일 수정
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
if config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'].to_f < 10.0
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '10.0'
end
end
end
end
b. 상술한 방법은 아직 완전히 해결되지 않을 때가 있다. Xcode에서 수정을 해야 한다. 왼쪽 항목 표시줄에서 8.0을 검색하고 관련 파라미터를 10.0으로 설정해야 한다.
6、The linked library ‘xxxx.a/Framework’ is missing one or more architectures required by this target: armv7.
해결 방법: Target=>Build Settings=>Excluded Architectures에 다음 코드 추가
EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64=arm64 arm64e armv7 armv7s armv6 armv8 EXCLUDED_ARCHS=$(inherited) $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_$(EFFECTIVE_PLATFORM_SUFFIX)__NATIVE_ARCH_64_BIT_$(NATIVE_ARCH_64_BIT))
7、Unable to install “…” Domain: com.apple.dt.MobileDeviceErrorDomain Code
해결 방법: 인증서를 다시 설정한 다음 컴파일하여 실행합니다
2. 포장 과정에 문제가 있다
1、ld: bitcode bundle could not be generated because …
해결 방법: a, 수정 targets=> Build Setting=>Enable Bitcode는 NOb로 터미널에서 프로젝트 루트 디렉터리에 들어가고 flutter clean, flutter build ios를 실행하면 다시 포장할 수 있습니다
2、ERROR ITMS-90189: "Redundant Binary Upload. You’ve already uploaded a build with build number ‘1’ for…
해결 방법: targets=>General=>Identity에서 대응하는version 및 Build를 수정하여 기존의 기초 위에서 추가하면 됩니다.
3. App Store의 출시 문제
1. App Store 타임스 오류 ERROR ITMS-90087: "Unsupported Architectures. The executable for.../Frameworks/Flutter. framework contains unsupported architectures"[x86 64]"해결 방법:
targets=>Build Phases에서 왼쪽 상단에 New Run Script Phase를 누르면 셸에 추가됩니다(참고: 네 번째 줄에 있는 Flutter.framework는 오류 메시지에 있는 Flutter.framework입니다)
APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
# This script loops through the frameworks embedded in the application and
# removes unused architectures.
find "$APP_PATH" -name 'Flutter.framework' -type d | while read -r FRAMEWORK
do
FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORK/Info.plist" CFBundleExecutable)
FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORK/$FRAMEWORK_EXECUTAB LE_NAME"
echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"
EXTRACTED_ARCHS=()
for ARCH in $ARCHS
do
echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
done
echo "Merging extracted architectures: ${ARCHS}"
lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
rm "${EXTRACTED_ARCHS[@]}"
echo "Replacing original executable with thinned version"
rm "$FRAMEWORK_EXECUTABLE_PATH"
mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
done
2. Application Loader를 사용하여 ipa를 App Store에 업로드한 후 메일박스에 오류 메시지가 반환됩니다.
ITMS-90683: Missing Purpose String in Info.plist - Your app’s code references one or more APIs that access sensitive user data. The app’s Info.plist file should contain a NSContactsUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting Spring 2019, all apps submitted to the App Store that access user data are required to include a purpose string. If you’re using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. You can contact the developer of the library or SDK and request they release a version of their code that doesn’t contain the APIs. Learn more (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy). ITMS-90683: Missing Purpose String in Info.plist - Your app’s code references one or more APIs that access sensitive user data. The app’s Info.plist file should contain a NSCalendarsUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting Spring 2019, all apps submitted to the App Store that access user data are required to include a purpose string. If you’re using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. You can contact the developer of the library or SDK and request they release a version of their code that doesn’t contain the APIs. Learn more (https://developer.apple.com/documentation/uikit/core_app/protecting_the_user_s_privacy). …
해결 방법: 프로젝트 디렉토리에 있는 ios=> Runner로 이동하여 Info. 수정plist, 안에 키 값을 추가하고 오류 메시지가 필요하면 추가하고 모두 추가해도 됩니다.
<key>NSAppleMusicUsageDescription</key>
<string> app </string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string> app </string>
<key>NSCalendarsUsageDescription</key>
<string> app </string>
<key>NSCameraUsageDescription</key>
<string> app </string>
<key>NSContactsUsageDescription</key>
<string> app </string>
<key>NSHealthShareUsageDescription</key>
<string> app </string>
<key>NSHealthUpdateUsageDescription</key>
<string> app </string>
<key>NSLocationAlwaysUsageDescription</key>
<string> app </string>
<key>NSLocationUsageDescription</key>
<string> app </string>
<key>NSLocationWhenInUseUsageDescription</key>
<string> app </string>
<key>NSMicrophoneUsageDescription</key>
<string> app </string>
<key>NSMotionUsageDescription</key>
<string> app </string>
<key>NSPhotoLibraryUsageDescription</key>
<string> app </string>
<key>NSRemindersUsageDescription</key>
<string> app </string>
<key>NSSpeechRecognitionUsageDescription</key>
<string> app </string>
문제가 있으면 함께 교류하고 토론하는 것을 환영합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
IOS에서 ReplayKit 및 RTC 사용 방법응용된 소리와 아나운서의 소리를 포함한다.이 두 가지 수요를 감안하여 우리는 스크린 공유를 하는 생방송에 필요한 미디어 흐름을 간단하게 분석할 수 있다. 만약 우리가 Audio App과 Audio Mic를 두 개의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.