美文网首页
iOS开发 - 打包上传出现ERROR ITMS-90087:

iOS开发 - 打包上传出现ERROR ITMS-90087:

作者: 俺不是大佬儿 | 来源:发表于2021-04-26 16:02 被阅读0次

使用环信的Hyphenate.framework上线打包出现
ERROR ITMS-90087: "Unsupported Architectures. The executable for xxxxx.app/Frameworks/Hyphenate.framework contains unsupported architectures '[x86_64, i386]'."报错

错误提示:

App Store Connect Operation Error
ERROR ITMS-90087: "Unsupported Architectures. The executable for xxxx.app/Frameworks/Hyphenate.framework contains unsupported architectures '[x86_64, i386]'."

App Store Connect Operation Error
ERROR ITMS-90209: "Invalid Segment Alignment. The app binary at 'xxxx.app/Frameworks/Hyphenate.framework/Hyphenate' does not have proper segment alignment. Try rebuilding the app with the latest Xcode version."

App Store Connect Operation Error
ERROR ITMS-90125: "The binary is invalid. The encryption info in the LC_ENCRYPTION_INFO load command is either missing or invalid, or the binary is already encrypted. This binary does not seem to have been built with Apple's linker."
报错示例

解决方法:在项目-->Build Phases -->Run Script 添加shell脚本

add RunScript.png

脚本:


# Without further ado, here’s the script. Add a Run Script step to your build steps, put it after your step to embed frameworks, set it to use /bin/sh and enter the following script:
 
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 FRAMEWORK
do
FRAMEWORK_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 $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

据反应偶有不起作用的情况有大神知道原因可以交流

相关文章

网友评论

      本文标题:iOS开发 - 打包上传出现ERROR ITMS-90087:

      本文链接:https://www.haomeiwen.com/subject/cbserltx.html