На самом деле, это ошибка компилятора, а не ошибка OCMock.
Это как-то связано с тем, как работает макрос OCMOCK_VALUE(t)
. Он определяется как:
#define OCMOCK_VALUE(variable) [NSValue value:&variable withObjCType:@encode(typeof(variable))]
Директива typeof () не является частью C89, поэтому убедитесь, что вы установили для своего компилятора флаг std=gnu89
или std=gnu99
. Согласно документации Apple, если вы установите его на Compiler Default
, это эквивалентно gnu89, что тоже хорошо.
Это, вероятно, причина вашей ошибки.