AI智能
改变未来

Flutter IOS app提交商城时出现错误 ERROR ITMS-90087…[x86_64, i386]

出现这个问题是苹果新规定提交的app不能含有32位程序,强制要求64位
自己的程序用Xcode打包编译肯定是64位的,在Flutter中第三方或者直接是Dart编译的都可能包含有32位编译,在iOS提交app商城就凉凉
所以在Archive的时候需要进行以下配置:

在第5方框中粘贴如下代码:

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 \'*.framework\' -type d | while read -r FRAMEWORKdoFRAMEWORK_EXECUTABLE_NAME=$(defaults read \"$FRAMEWORK/Info.plist\" CFBundleExecutable)FRAMEWORK_EXECUTABLE_PATH=\"$FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME\"echo \"Executable is $FRAMEWORK_EXECUTABLE_PATH\"EXTRACTED_ARCHS=()for ARCH in $ARCHSdoecho \"Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME\"lipo -extract \"$ARCH\" \"$FRAMEWORK_EXECUTABLE_PATH\" -o \"$FRAMEWORK_EXECUTABLE_PATH-$ARCH\"EXTRACTED_ARCHS+=(\"$FRAMEWORK_EXECUTABLE_PATH-$ARCH\")doneecho \"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

注意:上面那串代码的作用是在Xcode中 Archive 的时候忽略程序中所有包含 32 位的插件,但只能是在 Archive 的时候添加,其他情况把其删除,否则运行出错

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » Flutter IOS app提交商城时出现错误 ERROR ITMS-90087…[x86_64, i386]