Memoria compartida de bajo nivel en iOS

Estoy tratando de construir un bloque de memoria compartida en iOS. Recopila y enlaza, peroshmget() lanza una señal SIGSYS en los parámetros más inocentes:

NSString *p = [[NSBundle mainBundle] pathForResource:@"crash" ofType: nil];
key_t tok = ftok([p UTF8String], 918273);
int mid = shmget(tok, 4096, IPC_CREAT|S_IRUSR|S_IWUSR);

tok es un entero positivo grande, no -1. Tamaño - intentó 1024, mismo efecto.

¿Es compatible la memoria compartida SysV en iOS? Los encabezados y las bibliotecas están presentes, o el compilador / vinculador se quejaría. El mismo código funciona en el simulador. ¿Qué estoy haciendo mal?

Mi interés proviene deesta pregunta.

Respuestas a la pregunta(2)

Su respuesta a la pregunta