Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to submit archive including Here Maps Premium SDK with Xcode 8.2.1

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?

like image 416
Robert Voigt Avatar asked Dec 18 '22 09:12

Robert Voigt


2 Answers

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

enter image description here

like image 154
Himanshu Patel Avatar answered May 12 '23 05:05

Himanshu Patel


I try with .sh script and this is working for me.

Please follow below steps

  1. Unzip.tar file (i.e HERE_Premium_iOS_SDK_v3.7.0.118.tar)
  2. Open extracted folder 'HERESDK-Premium'. ('HERESDK-Premium' folder generated when you extract 'HERE_Premium_iOS_SDK_v3.7.0.118.tar' file)
  3. Open terminal
  4. Go to extracted folder path ('HERESDK-Premium->framework' you can found 'strip_sim.sh' file in this folder and NMAKit.framework)
  5. Run scrip in terminal with this command sh strip_sim.sh and press enter. (NMAKit.framework will be modified with this script).
  6. Wait for complete process.
  7. 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.

like image 35
Vivek Avatar answered May 12 '23 06:05

Vivek