summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile1
-rw-r--r--ios/framework/Info.plist26
-rw-r--r--ios/framework/modulemap5
-rw-r--r--ios/framework/umbrella3
-rwxr-xr-xscripts/ios/framework.sh32
5 files changed, 67 insertions, 0 deletions
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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>en</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>org.cocoapods.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+ <key>CFBundleShortVersionString</key>
+ <string>#####</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>%%%%%</string>
+ <key>NSPrincipalClass</key>
+ <string></string>
+</dict>
+</plist>
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