问题
archive upload failure messages screenhot
Xcode was failing to submit a project including dynamic library "NMAKit.framework" required for Here Map Premium for iOS functionality.
(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.
I'am using the latest Xcode Version 8.2.1.
I don't have trouble submitting the app without NMAKit.framework.
It seems like the actual version (Here SDK V. 3.3) of the library is not accepted by Apple.
What steps would it take to get my project including the NMAKit.framework submitted to iTunes-Connect?
回答1:
Step 1:
Project->Target->Build Phase->Run Script
Add 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
you can follow this Link.
Step 2:
Project->Target->General->Embedded Binaries
Add NMAKit.framework like below image
回答2:
I try with .sh script and this is working for me.
Please follow below steps
- Unzip.tar file (i.e HERE_Premium_iOS_SDK_v3.7.0.118.tar)
- Open extracted folder 'HERESDK-Premium'. ('HERESDK-Premium' folder generated when you extract 'HERE_Premium_iOS_SDK_v3.7.0.118.tar' file)
- Open terminal
- Go to extracted folder path ('HERESDK-Premium->framework' you can found 'strip_sim.sh' file in this folder and NMAKit.framework)
- Run scrip in terminal with this command
sh strip_sim.sh
and press enter. (NMAKit.framework will be modified with this script). - Wait for complete process.
- Copy new modify framework in your project and try to submit your build.
Note : When you run
sh strip_sim.sh
script your NMAKit.framework will be modified. Make sure replace new framework to old framework after uploading your build to iTunes.
New framework is not running in simulator.
来源:https://stackoverflow.com/questions/42276824/unable-to-submit-archive-including-here-maps-premium-sdk-with-xcode-8-2-1