diff --git a/src/loslib.c b/src/loslib.c
index e65e188..3595601 100644
--- a/src/loslib.c
+++ b/src/loslib.c
@@ -3,7 +3,9 @@
 ** Standard Operating System library
 ** See Copyright Notice in lua.h
 */
-
+#if defined(__APPLE__)
+#include <TargetConditionals.h>
+#endif
 #define loslib_c
 #define LUA_LIB
 
@@ -143,7 +145,12 @@ static int os_execute (lua_State *L) {
   const char *cmd = luaL_optstring(L, 1, NULL);
   int stat;
   errno = 0;
-  stat = system(cmd);
+#if defined(__APPLE__) && !TARGET_OS_OSX
+   // system() is __IOS_PROHIBITED, __WATCHOS_PROHIBITED, and __TVOS_PROHIBITED.
+   stat = 127; // error: shell execution failed
+#else
+   stat = system(cmd);
+#endif
   if (cmd != NULL)
     return luaL_execresult(L, stat);
   else {