archive upload failure messages screenhot
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)。
将我的项目包括提交给iTunes-Connect的NMAKit.framework需要采取哪些步骤?
步骤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
你可以关注这个Link。
第2步:
项目 - >目标 - >常规 - >嵌入式二进制文件
添加NMAKit.framework,如下图所示
我尝试使用.sh脚本,这对我有用。
请按照以下步骤操作
sh strip_sim.sh
在终端中运行scrip,然后按Enter键。 (将使用此脚本修改NMAKit.framework)。注意:运行
sh strip_sim.sh
脚本时,您的NMAKit.framework将被修改。将构建上传到iTunes后,确保将新框架替换为旧框架。
新框架未在模拟器中运行。