diff --git a/common/cpp/src/system_io/system_io.h b/common/cpp/src/system_io/system_io.h
index 00ff32d82a051055fee93afb1d0832c4df7a5439..48c614927db890d3ece91b0b2ad97b7e4a7b9468 100644
--- a/common/cpp/src/system_io/system_io.h
+++ b/common/cpp/src/system_io/system_io.h
@@ -15,6 +15,11 @@ typedef SSIZE_T ssize_t;
 #include "../../../../../../../../usr/include/netinet/in.h"
 #endif
 
+#ifdef __APPLE__
+#	define MSG_NOSIGNAL 0
+#endif
+
+
 namespace asapo {
 
 class SystemIO final : public IO {
diff --git a/examples/worker/getnext_broker/check_linux.sh b/examples/worker/getnext_broker/check_linux.sh
index ed90a1acba61ea67c9c6034145cf38b10fee0ca5..04ee45752f3f75bc95434575d6a680f8cb1346f9 100644
--- a/examples/worker/getnext_broker/check_linux.sh
+++ b/examples/worker/getnext_broker/check_linux.sh
@@ -24,6 +24,8 @@ do
 	echo 'db.data.insert({"_id":'$i',"size":100,"name":"'$i'","lastchange":1})' | mongo ${database_name}
 done
 
+sleep 1
+
 $@ 127.0.0.1:8400 $database_name 2 $token_test_run 1000 | grep "Processed 3 file(s)"
 
 
diff --git a/producer/event_monitor_producer/CMakeLists.txt b/producer/event_monitor_producer/CMakeLists.txt
index fb44c774f3654b14d4dda1d2b7da2c14c966f7a0..cebdbdb98a1791deb97476b9d0d3e59fb8e11da7 100644
--- a/producer/event_monitor_producer/CMakeLists.txt
+++ b/producer/event_monitor_producer/CMakeLists.txt
@@ -5,8 +5,9 @@ set(SOURCE_FILES
         src/event_detector_factory.cpp
         src/folder_event_detector.cpp
 )
-
-IF(WIN32)
+IF (APPLE)
+    #do nothing
+ELSEIF(WIN32)
     set(SOURCE_FILES ${SOURCE_FILES} src/system_folder_watch_windows.cpp
             src/single_folder_watch_windows.cpp
             src/watch_io.cpp
@@ -15,7 +16,7 @@ IF(WIN32)
             )
 ELSEIF(UNIX)
     set(SOURCE_FILES ${SOURCE_FILES} src/system_folder_watch_linux.cpp src/inotify_event.cpp src/inotify_linux.cpp)
-ENDIF(WIN32)
+ENDIF(APPLE)
 
 
 
@@ -55,13 +56,14 @@ set(TEST_SOURCE_FILES
         unittests/test_event_detector_factory.cpp
         unittests/test_folder_event_detector.cpp
    )
-
-IF(UNIX)
+IF (APPLE)
+    #do nothing
+ELSEIF(UNIX)
 set(TEST_SOURCE_FILES ${TEST_SOURCE_FILES} unittests/test_system_folder_watch_linux.cpp)
 ELSE()
 set(TEST_SOURCE_FILES ${TEST_SOURCE_FILES} unittests/test_system_folder_watch_windows.cpp
         unittests/test_single_folder_watch_windows.cpp)
-ENDIF(UNIX)
+ENDIF(APPLE)
 
 
 set(TEST_LIBRARIES "${TARGET_NAME}")
diff --git a/producer/event_monitor_producer/src/system_folder_watch.h b/producer/event_monitor_producer/src/system_folder_watch.h
index e81687f5cccaeb10620a61514c10d8af734385af..2dcf28a595c7882bb48d80f09a69c677de10a12e 100644
--- a/producer/event_monitor_producer/src/system_folder_watch.h
+++ b/producer/event_monitor_producer/src/system_folder_watch.h
@@ -5,9 +5,14 @@
 #include "system_folder_watch_windows.h"
 #endif
 
-#if defined(__linux__) || defined (__APPLE__)
+#if defined(__linux__)
 #include "system_folder_watch_linux.h"
 #endif
 
 
+#if defined(__APPLE__)
+#include "system_folder_watch_macos_dummy.h"
+#endif
+
+
 #endif //ASAPO_SYSTEM_FODLER_WATCH_H
diff --git a/producer/event_monitor_producer/src/system_folder_watch_macos_dummy.h b/producer/event_monitor_producer/src/system_folder_watch_macos_dummy.h
new file mode 100644
index 0000000000000000000000000000000000000000..0c2bcc0a65945428544edfc3f88f08c9445146ee
--- /dev/null
+++ b/producer/event_monitor_producer/src/system_folder_watch_macos_dummy.h
@@ -0,0 +1,24 @@
+#ifndef ASAPO_SYSTEM_FOLDER_WATCH_MACOS_DUMMY_H
+#define ASAPO_SYSTEM_FOLDER_WATCH_MACOS_DUMMY_H
+
+#include "common.h"
+#include "preprocessor/definitions.h"
+
+
+// dummy file to make it compile on macos
+
+
+namespace asapo {
+
+class SystemFolderWatch {
+ public:
+  VIRTUAL Error StartFolderMonitor(const std::string &root_folder, const std::vector<std::string> &monitored_folders) {
+      return nullptr;
+  };
+  VIRTUAL FilesToSend GetFileList(Error* err) {
+      return {};
+  };
+};
+
+}
+#endif //ASAPO_SYSTEM_FOLDER_WATCH_MACOS_DUMMY_H
diff --git a/receiver/unittests/test_request.cpp b/receiver/unittests/test_request.cpp
index c0bf0497cf8c31a45a468a2dc70f59ff6fb978cb..8224ea20743a2d250c2c711a09171ffb96a4bbd4 100644
--- a/receiver/unittests/test_request.cpp
+++ b/receiver/unittests/test_request.cpp
@@ -162,8 +162,7 @@ TEST_F(RequestTests, HandleProcessesRequests) {
 
 TEST_F(RequestTests, DataIsNullAtInit) {
     auto& data = request->GetData();
-
-    ASSERT_THAT(data, Eq(nullptr));
+    ASSERT_THAT(data.get(), Eq(nullptr));
 }
 
 TEST_F(RequestTests, GetDataIsNotNullptr) {