make iproj now produces a target that pulls together static libraries like core and platform-ios into a real dynamic framework. iosapp is pretty much just a regular iOS application that links Mapbox.framework (except for the inclusion of default_styles.hpp). iosapp runs fine in the Simulator and on a device, and the same is true for any application linking against Mapbox.framework. The ipackage target produces both a Bitcode-disabled static framework and a Bitcode-enabled dynamic framework, eliminating the need for a separate framework.sh. It disables code signing, since that happens on copy when the framework is embedded inside the application bundle. It also merges the device and simulator builds into a single fat framework. Also bumped itest minimum deployment target to iOS 8.0, the first version that supports linking frameworks. Fixes #828.
39 lines
1021 B
Bash
Executable File
39 lines
1021 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
set -o pipefail
|
|
set -u
|
|
|
|
source ./platform/ios/scripts/setup.sh
|
|
|
|
BUILDTYPE=${BUILDTYPE:-Release}
|
|
|
|
PUBLISH_TAG=($(git show -s --format=%B | sed -n 's/.*\[publish \([a-z]\{1,\}\)-v\([0-9a-z.\-]\{1,\}\)\].*/\1 \2/p'))
|
|
PUBLISH_PLATFORM=${PUBLISH_TAG[0],-}
|
|
PUBLISH_VERSION=${PUBLISH_TAG[1],-}
|
|
|
|
|
|
################################################################################
|
|
# Build
|
|
################################################################################
|
|
|
|
if [[ ${PUBLISH_PLATFORM} = 'ios' ]]; then
|
|
# default, with debug symbols
|
|
mapbox_time "package_ios_symbols" \
|
|
make ipackage
|
|
|
|
mapbox_time "deploy_ios_symbols"
|
|
./platform/ios/scripts/publish.sh "${PUBLISH_VERSION}" symbols
|
|
|
|
# no debug symbols, for smaller distribution
|
|
mapbox_time "package_ios_stripped" \
|
|
make ipackage-strip
|
|
|
|
mapbox_time "deploy_ios_stripped"
|
|
./platform/ios/scripts/publish.sh "${PUBLISH_VERSION}"
|
|
else
|
|
# build & test iOS
|
|
mapbox_time "run_ios_tests" \
|
|
make itest
|
|
fi
|