Устранение проблем с отсутствующими, очень простыми классами Objective-C

У меня есть проект iOS в Xcode, который прекрасно работает. Я добавил классы из проекта ATMHud ( https://github.com/atomton/ATMHud), которые я успешно использовал в других проектах, и неожиданно получаю десятки ошибок об отсутствующих объявлениях интерфейса для очень простых типов объектов, таких как NSObject и UIView:

36 ошибок, девять предупреждений

Согласно документации, я добавил в свой проект платформы QuartzCore и AudioToolbox. Я проверил свои собственные файлы.h и.m, чтобы убедиться, что все мои собственные операторы #import находятся в моих файлах.m, а не в файлах.h без необходимости. На самом деле у меня есть только одна цепочка операторов #import в заголовочных файлах, и все они связаны с написанными мной пользовательскими классами.

Здесь я вижу много ответов на подобные вопросы, но ни один из них не помогает мне решить мою проблему. Я чувствую, что упускаю что-то очевидное, но если это так, это ускользает от меня. Любая помощь будет оценена.

1 ответ

Решение

Если вам не хватает таких базовых вещей, как NSObject и UIView, мне кажется, что вы больше не импортируете UIKit и Foundation. Эти вещи обычно импортируются в файл префикса (myProject-Prefix.pch).

Есть две вероятные причины, по которым вы могли пропустить этот импорт. Либо вы изменили структуру папок, и файл префикса больше не был прежним, либо вы изменили некоторые параметры сборки для своей цели. Вполне вероятно, что вы изменили некоторые параметры сборки, когда добавили сторонние классы.

Чтобы решить эту проблему, выберите вашу цель и зайдите в настройки сборки и найдите "заголовок префикса". Путь, который определен там, должен быть путем к вашему префиксному файлу относительно вашего myProject.xcodeproj-файла.

Вы могли бы также изменить код в файле префикса, чтобы он больше не включал UIKit и Foundation, но вы, вероятно, помните, что делали это

Другие вопросы по тегам