Adding SDK Manually

Follow the steps given below if you want to install iOS SDK manually.

  1. You can download the Netcore Smartech SDK from our GitHub repository or GitHub Master Direct Link.
  2. Unzip the downloaded file. You can find the framework file in the following folder structure flow Smartech-iOS-SDK-master > Frameworks > Smartech > Smartech.framework.
  3. Now in your Xcode project right-click on Project Name in project inspector and select the 'Add Files' option.
  4. Navigate to the folder in your system where Smartech.framework is located.
  5. Make sure you have selected copy items if needed and the App target.
  6. Click on the Add Option.
  7. Click on the ‘+’ button under Development Assets, this section is below Frameworks, Libraries, and Embedded Content.
  8. Search for Smartech.framework, select it, and click on Add.

You can refer to the PDF for detailed steps for manually adding the framework in your project.

Adding RunScript in project for Smartech SDK

This script loops through the frameworks embedded in the application and removes unused architectures when you Archive your build. This should be added to the RunScript of your Xcode Project.

  1. Click on the project file on the left panel.
  2. Select the application target.
  3. Click on Build Phases.
  4. Click on the Plus button on the top left side.
  5. Select New Run Script Phase.
  6. Paste the following script in the script editor.
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

🚧

Common error while creating an Archive

If you get an error like ‘Assertion failed: Expected 5 archs in otool output’, you can perform the following steps:

  1. Go to Xcode preferences.
  2. Select Locations tab.
  3. Select the Xcode version in Command Line Tools which you are using to Archive the build (Recommended to use the latest one).
  4. Open Terminal.
  5. Go to the directory in project where Smartech.framework is added.
  6. At that directory run following commands one by one:
    a. lipo -remove i386 Smartech.framework/Smartech -o Smartech.framework /Smartech
    b. lipo -remove x86_64 Smartech.framework/Smartech -o Smartech.framework/Smartech

Click here to go back to the basic setup


Next

Continue with rest of the Basic Setup of iOS SDK integration