美文网首页
记:上架时使用第三方SDK(开发版)遇到的坑

记:上架时使用第三方SDK(开发版)遇到的坑

作者: attackGiant | 来源:发表于2018-05-25 16:43 被阅读0次

按正常流程Archive项目,可以打包成功,使用Application Loader上传App Store时提示


WechatIMG263.jpeg

经度娘查询,报错 ERROR ITMS-90087 ;ERROR ITMS-90209;ERROR ITMS-90125 为项目中使用的三方framework包含[x86_64]架构,这是苹果不允许的,解决办法:工程中添加shell脚本解决,如图:


WechatIMG264.jpeg

脚本如下:

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

由于本人使用的三方SDK使用的 pods管理,加入脚本之后Archive不成功,提示这样的错误:


EDF6626D-D99D-414D-8685-D364F0DFFA99.png

(这个坑耽误了好长时间,mmp)。。。由于之前没有遇到过类似的错误,摸不着头脑,百度,Google了好多都没有解决,后来去项目中查看Pods管理的三方SDK,发现Pods target 一栏的 Products文件夹下面报红,自我猜测是因为pods管理的sdk没有引入进项目,才报上面的错误,解决办法:首先删除Podfile里依赖的三方库,然后重新pod install,等pod install 成功之后,首先编译项目,Xcode会自动下载依赖的三方库并导入项目,等Products一栏没有报红的文件夹了,再重新Archive,上架。。。。。
希望可以帮助同样遇到这个问题的小伙伴!☺

相关文章

网友评论

      本文标题:记:上架时使用第三方SDK(开发版)遇到的坑

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