gpt4 book ai didi

ios - 错误 ITMS-90085 : “No architectures in the binary. Lipo failed to detect any architectures in the bundle executable.”

转载 作者:技术小花猫 更新时间:2023-10-29 11:23:28 29 4
gpt4 key购买 nike

我们已经构建了一个具有多个 native 绑定(bind)的 Xamarin 应用程序(iOS、Android)。该应用程序在设备和模拟器上运行良好,我们能够毫无问题地构建存档(显然)。

问题是当我们想要将构建上传到应用商店时(使用应用加载器或 xcode 7.3.1),我们收到以下错误:

ERROR ITMS-90085: “No architectures in the binary. Lipo failed to detect any architectures in the bundle executable.”

在应用程序上运行 lipo -info 会产生以下响应:

fat文件中的架构:NameOfMyApp.iOS.app/NameOfMyApp.iOS是:armv7 arm64

在发布此问题之前,我们已经彻底搜索了答案并确保了以下内容:

  • 产品名称正确
  • 已安装 Xcode
  • 应用程序加载器是最新版本
  • Bundle Id 正确

如果有人有想法,我们将不胜感激!

谢谢,A.

最佳答案

我最近出于完全不同的原因遇到了这个错误。我们正在使用这个 really popular script在提交应用商店之前从我们的应用中删除未使用的架构。

问题是,如果您包含 watch 应用程序并使用 Xcode 10 进行构建,那么此脚本会做完全错误的事情!它在 ARCHS 变量中查找所有架构,并从胖二进制文件中删除所有其他架构,问题是

  • ARCHS 不包括 watch 架构,并且
  • 从 Xcode 10 开始,watch 二进制文件很胖(由于新 watch)

在 XCode 9 中,脚本会跳过 watch 内容,但现在它会错误地删除它们。

我通过更改脚本以仅删除模拟器架构来修复错误。

EXTRACTED_ARCHS=()
GOOD_ARCHS=()

PRESENT_ARCHS=($(lipo -archs "$FRAMEWORK_EXECUTABLE_PATH"))

if [[ "${#PRESENT_ARCHS[@]}" -lt 2 ]]
then
echo "Framework is not a Fat binary, skipping..."
continue
fi

for ARCH in "${PRESENT_ARCHS[@]}"
do
if [[ "$ARCH" != x86_64 && "$ARCH" != i386 ]]
then
echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
GOOD_ARCHS+=("$ARCH")
EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
fi
done

关于ios - 错误 ITMS-90085 : “No architectures in the binary. Lipo failed to detect any architectures in the bundle executable.” ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39353735/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com