From 01b4f160d40b5899ed455e02bd673deca96b3a36 Mon Sep 17 00:00:00 2001 From: "Justin R. Miller" Date: Mon, 16 Nov 2015 11:37:18 -0800 Subject: static framework target for iOS --- Makefile | 1 + ios/framework/Info.plist | 26 ++++++++++++++++++++++++++ ios/framework/modulemap | 5 +++++ ios/framework/umbrella | 3 +++ scripts/ios/framework.sh | 32 ++++++++++++++++++++++++++++++++ 5 files changed, 67 insertions(+) create mode 100644 ios/framework/Info.plist create mode 100644 ios/framework/modulemap create mode 100644 ios/framework/umbrella create mode 100755 scripts/ios/framework.sh diff --git a/Makefile b/Makefile index 348ba3bffb..b9e869ed00 100644 --- a/Makefile +++ b/Makefile @@ -53,6 +53,7 @@ ipackage: Xcode/ios ; @JOBS=$(JOBS) ./scripts/ios/package.sh ipackage-strip: Xcode/ios ; @JOBS=$(JOBS) ./scripts/ios/package.sh strip ipackage-sim: Xcode/ios ; @JOBS=$(JOBS) ./scripts/ios/package.sh sim ipackage-no-bitcode: Xcode/ios ; @JOBS=$(JOBS) ./scripts/ios/package.sh no-bitcode +iframework: Xcode/ios ; ipackage-strip ; ./scripts/ios/framework.sh itest: ipackage-sim ; ./scripts/ios/test.sh endif diff --git a/ios/framework/Info.plist b/ios/framework/Info.plist new file mode 100644 index 0000000000..e94d071dad --- /dev/null +++ b/ios/framework/Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIdentifier + org.cocoapods.${PRODUCT_NAME:rfc1034identifier} + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + ${PRODUCT_NAME} + CFBundlePackageType + FMWK + CFBundleShortVersionString + ##### + CFBundleSignature + ???? + CFBundleVersion + %%%%% + NSPrincipalClass + + + diff --git a/ios/framework/modulemap b/ios/framework/modulemap new file mode 100644 index 0000000000..959568cb4e --- /dev/null +++ b/ios/framework/modulemap @@ -0,0 +1,5 @@ +framework module Mapbox { + umbrella header "Mapbox.h" + export * + module * { export * } +} diff --git a/ios/framework/umbrella b/ios/framework/umbrella new file mode 100644 index 0000000000..6b980d3657 --- /dev/null +++ b/ios/framework/umbrella @@ -0,0 +1,3 @@ + +FOUNDATION_EXPORT double MapboxVersionNumber; +FOUNDATION_EXPORT const unsigned char MapboxVersionString[]; diff --git a/scripts/ios/framework.sh b/scripts/ios/framework.sh new file mode 100755 index 0000000000..700c8cf5ac --- /dev/null +++ b/scripts/ios/framework.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +set -e +set -o pipefail +set -u + +cd build/ios/pkg +rm -rf framework +mkdir framework +cd framework + +mkdir Mapbox.framework + +# headers +cp -rv ../static/Headers Mapbox.framework/Headers +cat ../../../../ios/framework/umbrella >> Mapbox.framework/Headers/Mapbox.h + +# resources +cp -rv ../static/Mapbox.bundle Mapbox.framework/Mapbox.bundle + +# binary +cp -v ../static/libMapbox.a Mapbox.framework/Mapbox + +# module map +mkdir Mapbox.framework/Modules +cp -v ../../../../ios/framework/modulemap Mapbox.framework/Modules/module.modulemap + +# Info.plist +VERSION=$( git tag | grep ^ios | sed 's/^ios-//' | sort -r | grep -v '\-rc.' | grep -v '\-pre.' | sed -n '1p' | sed 's/^v//' ) +cp -v ../../../../ios/framework/Info.plist Mapbox.framework +perl -pi -e "s/#####/$VERSION/" Mapbox.framework/Info.plist +perl -pi -e "s/%%%%%/$VERSION/" Mapbox.framework/Info.plist -- cgit v1.2.1