Ответ 1
Метод 1
В вашем проекте:
- Измените настройки сборки для своей цели (⌘-1, выберите проект или cf. Документы Apple).
- Найдите "Другие предупреждающие флаги".
- Добавить
-Wno-objc-designated-initializers
.
Вы также можете сделать некоторую комбинацию этого и -Wobjc-designated-initializers
для каждого файла или с помощью диагностических нажатий и всплывающих подсказок (cf. @bandejapaisa "Способ 3" answer ниже).
Метод 2
Этот метод позволяет вам переключаться между Xcode 5 и 6, а также предоставляет вам напоминание, чтобы исправить назначенный материал инициализатора.
Для разработки iOS поместите это в свой .pch
(предварительно скомпилированный заголовок) файл:
#ifdef __IPHONE_8_0
// suppress these errors until we are ready to handle them
#pragma message "Ignoring designated initializer warnings"
#pragma clang diagnostic ignored "-Wobjc-designated-initializers"
#else
// temporarily define an empty NS_DESIGNATED_INITIALIZER so we can use now,
// will be ready for iOS8 SDK
#define NS_DESIGNATED_INITIALIZER
#endif
Аналоговый для __IPHONE_8_0
для OS X 10.10 - __MAC_10_10
.
Почему?
Если вас интересует, почему эти сообщения существуют, вы можете проверить этот ответ SO или эти Apple docs.