diff --git a/src/objective-c/tests/build_tests.sh b/src/objective-c/tests/build_tests.sh
index d98e0a769c6db539c8523106b2c4a790a5bb0b55..a8b75030329573ec361f4ec0dea8562b00092565 100755
--- a/src/objective-c/tests/build_tests.sh
+++ b/src/objective-c/tests/build_tests.sh
@@ -32,6 +32,10 @@ set -e
 
 cd $(dirname $0)
 
+hash protoc 2>/dev/null || { echo >&2 "protoc needs to be installed."; exit 1; }
+hash pod 2>/dev/null || { echo >&2 "Cocoapods needs to be installed."; exit 1; }
+hash xcodebuild 2>/dev/null || { echo >&2 "XCode command-line tools need to be installed."; exit 1; }
+
 # The local test server needs to be compiled before this because pod install of
 # gRPC renames some C gRPC files and not the server's code references to them.
 #