无法提交存档,包括带有Xcode 8.2.1的Here Maps Premium SDK [英] Unable to submit archive including Here Maps Premium SDK with Xcode 8.2.1
问题描述
Xcode无法提交项目,其中包括iOS功能Here Map Premium所需的动态库"NMAKit.framework".
Xcode was failing to submit a project including dynamic library "NMAKit.framework" required for Here Map Premium for iOS functionality.
(上传iOS版Here Maps Premium SDK中包含的示例项目,以避免我的项目引起的副作用也导致上传失败)
(uploading the sample project included in Here Maps Premium SDK for iOS to avoid side effects caused by my project leading also to upload failure)
在项目的构建设置中禁用了位码.
Bitcode was disabled in project's build settings.
我正在使用最新的Xcode版本8.2.1.
I'am using the latest Xcode Version 8.2.1.
在没有NMAKit.framework的情况下提交应用程序没有麻烦.
I don't have trouble submitting the app without NMAKit.framework.
苹果似乎不接受该库的实际版本(此处为SDK V. 3.3).
It seems like the actual version (Here SDK V. 3.3) of the library is not accepted by Apple.
要把包含NMAKit.framework的项目提交到iTunes-Connect,需要采取什么步骤?
What steps would it take to get my project including the NMAKit.framework submitted to iTunes-Connect?
推荐答案
步骤1:
项目->目标->构建阶段->运行脚本
Project->Target->Build Phase->Run Script
添加运行脚本
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步:
Project-> Target-> General-> Embedded Binaries
Project->Target->General->Embedded Binaries
如下图所示添加NMAKit.framework
Add NMAKit.framework like below image
这篇关于无法提交存档,包括带有Xcode 8.2.1的Here Maps Premium SDK的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!