summaryrefslogtreecommitdiff
path: root/platform/ios/scripts/check-events-symbols.sh
diff options
context:
space:
mode:
Diffstat (limited to 'platform/ios/scripts/check-events-symbols.sh')
-rwxr-xr-xplatform/ios/scripts/check-events-symbols.sh37
1 files changed, 37 insertions, 0 deletions
diff --git a/platform/ios/scripts/check-events-symbols.sh b/platform/ios/scripts/check-events-symbols.sh
new file mode 100755
index 0000000000..c76d5e2693
--- /dev/null
+++ b/platform/ios/scripts/check-events-symbols.sh
@@ -0,0 +1,37 @@
+#!/usr/bin/env bash
+
+set -eu -o pipefail
+
+function step { >&2 echo -e "\033[1m\033[36m* $@\033[0m"; }
+function finish { >&2 echo -en "\033[0m"; }
+trap finish EXIT
+
+find_framework() {
+ step "Looking for Mapbox.framework…"
+ echo $( find ./build -name Mapbox | tail -n 1 )
+}
+
+FRAMEWORK=$(find_framework)
+
+if [[ -z "${FRAMEWORK}" || ! -f "${FRAMEWORK}" ]]; then
+ echo "No framework found — building dynamic Mapbox.framework…"
+ make iframework BUILD_DEVICE=false
+ FRAMEWORK=$(find_framework)
+fi
+
+echo "Found framework: ${FRAMEWORK}"
+
+step "Checking for un-namespaced symbols from mapbox-events-ios…"
+
+# Symbols from mapbox-events-ios are prefixed MME. To avoid duplicate symbol
+# warnings when multiple copes of mapbox-events-ios are included in a project,
+# the maps SDK prefixes these symbols with MGL_.
+SYMBOLS=$( nm "$FRAMEWORK" | grep \$_MME || true )
+
+if [ -z "${SYMBOLS}" ]; then
+ echo "✅ No un-namespaced symbols found."
+else
+ echo "❗️ Found un-namespaced symbols:"
+ echo "${SYMBOLS}"
+ exit 1
+fi