NSPredicate является частью Фонда, поэтому, если вы не можете обнаружить, что что-то плохо зашифровано.
(1) Проверка кругового импорта в заголовках. Это может вызвать все виды странных проблем.
(2) Удалите все рамки, очистите все, затем добавьте рамки по порядку. Убедитесь, что цель установлена на 3.x.
Раньше, когда я сталкивался с такой проблемой при сборке, мне было проще создать новый проект и перенести в него свой собственный исходный код, чем пытаться выяснить, что я испортил в оригинале. Жизнь коротка, чтобы отладить компоновщик.