Unable to submit archive including Here Maps Premi

2019-06-25 04:27发布

问题:

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

  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.