Я создаю приложение для iOS 5 с ARC, используя clang в Xcode 4.2 / Lion. Для меня хорошая практика - попытаться избавиться от как можно большего количества предупреждений, но я не понимаю этого. В приложении довольно много классов, но ограниченное количество их файлов заголовков (8 или 9) выдает такие предупреждения компоновщика, как это:
warning: no rule to process file '$(PROJECT_DIR)/TKMyClass.h' of type sourcecode.objj.h for architecture arm7`
Я не вижу каких-либо существенных общих черт в этих заголовках: пара - это сторонний код OSS; все остальное принадлежит мне. Один из них - это заголовочный файл на чистом языке C (без соответствующего .c), содержащий только константы, #defines
и перечисления; пара - это подклассы UIView
и UIViewController
, созданные с помощью шаблонов Xcode; остальные - обычные классы Obj-C, некоторые из которых наследуются от NSObject
, а некоторые - нет. Все (мои классы) создавались с нуля в рамках проекта в разное время. И старые, и новые классы не дают предупреждений.
В моем проекте используются классы C ++, Objective-C ++ и Objective C. Классы, генерирующие предупреждения, здесь в основном это Objective C (их реализации находятся в файлах .m), но два сторонних класса реализованы на Objective C ++ (.mm).
В остальном проект отлично строится и работает в симуляторе и на iDevices.
К моему стыду, я не очень хорошо знаком со страницами настроек проекта в Xcode. Я ожидаю, что решение где-то там содержится, но я не уверен, с чего начать, не ломая ничего.