Я некоторое время боролся с этим, и в моем случае он оказался настройкой сборки в разделе «Пути поиска» под названием FRAMEWORK_SEARCH_PATHS.Помогло то, что я выбрал кнопку «Уровни», которая, казалось, сравнивала мой проект, цель и настройки «Разрешено».Я увидел, что мои настройки цели каким-то образом переопределили значение по умолчанию «$ (унаследованное)», и переопределенное значение было тем, что XCode «разрешил» для настройки.Когда я удалил переопределение, которое в данном случае указывало 3.2 sdk, ошибки компоновщика исчезли - как и некоторые недавно появившиеся предупреждения о любых классах, где я вызывал методы после 4.0.
Об этих предупреждениях -Я никогда не видел их, пока не добавил платформу MessageUI для недавних изменений.Я подозреваю, но не знаю наверняка, что когда я добавил этот фреймворк, XCode попытался сделать что-то умное, добавив это переопределение к моей цели.Я не делал это явно в любой момент.Предупреждения были, например, о методе URLByAppendingPathComponent NSURL, который не появлялся до SDK 4.0.До добавления платформы MessageUI я никогда не получал это предупреждение.И так как я удалил переопределение, я больше не получаю их.