blob: e048a73bb371d2c3f2ad4923d65c15e8eda732a6 [file]
#!/bin/bash
set -euo pipefail
set -x
readonly binary="%{binary}s"
expected_platform="MACOS"
if [[ "$PLATFORM_TYPE" == "ios" && "$BUILD_TYPE" == "device" ]]; then
expected_platform="IOS"
elif [[ "$PLATFORM_TYPE" == "ios" && "$BUILD_TYPE" == "simulator" ]]; then
expected_platform="IOSSIMULATOR"
elif [[ "$PLATFORM_TYPE" == "visionos" && "$BUILD_TYPE" == "device" ]]; then
expected_platform="VISIONOS"
elif [[ "$PLATFORM_TYPE" == "visionos" && "$BUILD_TYPE" == "simulator" ]]; then
expected_platform="VISIONOSSIMULATOR"
elif [[ "$PLATFORM_TYPE" == "watchos" && "$BUILD_TYPE" == "device" ]]; then
expected_platform="WATCHOS"
elif [[ "$PLATFORM_TYPE" == "watchos" && "$BUILD_TYPE" == "simulator" ]]; then
expected_platform="WATCHSIMULATOR"
fi
platforms=$(otool -lv "$binary" | grep "platform " | sort -u || true)
if ! echo "$platforms" | grep -q "platform $expected_platform"; then
echo "error: binary $binary does not contain platform $expected_platform, got: '$platforms'" >&2
exit 1
fi
lipo_output=$(lipo -info "$binary")
expected_cpus=${CPU//,/ }
expected_cpus=${expected_cpus//sim_/}
expected_cpus=${expected_cpus//device_/}
if ! echo "$lipo_output" | grep -q "$expected_cpus"; then
echo "error: binary $binary does not contain CPU $CPU, got: '$lipo_output"
exit 1
fi