У меня есть следующий код, который я вызываю из основной программы Swift в Xcode, и, например, при запуске его в симуляторе на виртуальном iPhone он работает. Он создает /tmp/MYFIFO
.
int32_t init_udpC(void) {
static char *filename="/tmp/MYFIFO";
umask(0);
unlink(filename);
if((mkfifo(filename, 0666)) == -1){
perror("mkfifo");
exit(2);
}
if((fd=open("/tmp/MYFIFO",O_RDWR|O_APPEND)) == -1) {
perror("open");
exit(2);
}
return fd;
}
Запустив его на физическом устройстве, код не работает с
mkfifo: Operation not permitted