4

存档上传失败消息截图

Xcode 未能提交包含 Here Map Premium for iOS 功能所需的动态库“NMAKit.framework”的项目。

(上传Here Maps Premium SDK for iOS中包含的示例项目,以避免我的项目引起的副作用导致上传失败)

Bitcode 在项目的构建设置中被禁用。

我正在使用最新的 Xcode 版本 8.2.1。

在没有 NMAKit.framework 的情况下提交应用程序没有问题。

Apple 似乎不接受该库的实际版本(此处为 SDK V. 3.3)。

将我的项目(包括 NMAKit.framework)提交给 iTunes-Connect 需要哪些步骤?

4

2 回答 2

10

步骤1:

项目->目标->构建阶段->运行脚本

添加运行脚本

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

你可以关注这个链接

第2步:

项目->目标->常规->嵌入式二进制文件

添加 NMAKit.framework 如下图

在此处输入图像描述

于 2017-02-17T09:06:44.257 回答
1

我尝试使用 .sh 脚本,这对我有用。

请按照以下步骤

  1. 解压.tar 文件(即 HERE_Premium_iOS_SDK_v3.7.0.118.tar)
  2. 打开提取的文件夹“HERESDK-Premium”。(提取“HERE_Premium_iOS_SDK_v3.7.0.118.tar”文件时生成的“HERESDK-Premium”文件夹)
  3. 打开终端
  4. 转到提取的文件夹路径(“HERESDK-Premium->framework”,您可以在此文件夹和NMAKit.framework中找到“strip_sim.sh”文件)
  5. 使用此命令在终端中运行脚本,sh strip_sim.sh然后按 Enter。(NMAKit.framework将使用此脚本进行修改)。
  6. 等待完成过程。
  7. 在您的项目中复制新的修改框架并尝试提交您的构建。

注意:当您运行sh strip_sim.sh脚本时,您的NMAKit.framework将被修改。将构建上传到 iTunes 后,确保将新框架替换为旧框架。

新框架未在模拟器中运行。

于 2019-02-15T05:48:49.587 回答