在xcode中反应本机项目Validate App阶段错误

时间:2018-12-20 10:09:18

标签: ios xcode react-native

我正在尝试通过xcode发布react native应用。实际代码在设备和模拟器上均能正常工作。我能够毫无问题地构建和归档项目。在“验证应用程序”阶段,事情变得一团糟。(Xcode版本为10,RN版本为55.4)

我的项目中有两个框架,RSKImageCropper和QBImagePicker。我可以在“目标”>“构建阶段”下的““嵌入框架””中看到它们。

enter image description here

当我尝试存档项目时,出现以下错误,存档过程失败。

enter image description here

为了解决这个问题,我看到了一条评论:“在Xcode 10中,脚本将框架复制到正确的位置,您不必将它们添加到 “常规”选项卡。“然后,我从“嵌入式框架”选项卡中将它们删除。当我测试此版本时,它在模拟器上工作正常,但在设备上崩溃。不知道为什么?

删除嵌入框架后继续归档过程时。在验证阶段,我也可以在屏幕截图下方看到框架:

enter image description here

上图中的一些细节会导致下一阶段的错误。这是验证错误的屏幕截图。

enter image description here

为解决此错误,我在构建阶段添加了以下“运行脚本”。

APP_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}"

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

这是此脚本的reference link

完成此阶段后,仍然会出现以下错误:

enter image description here

我使用Application Loader来更详细地查看错误,我看到了以下解释:

错误ITMS-90161:“无效的配置文件。捆绑在com.thesomething.something.ios [Payload / thesomething.app]中的配置文件是无效的。[缺少代码签名证书]。分发将应用程序提交到App Store时应使用配置文件。有关更多信息,请访问iOS开发者门户。“

你们认为错误来自框架吗?使用我的团队名称进行签名?

0 个答案:

没有答案