Предотвратите создание Xcode NS_ASSUME_NONNULL_BEGIN и NS_ASSUME_NONNULL_END в новых заголовках

Я обновил Xcode, и с момента обновления я получаю NS_ASSUME_NONNULL_BEGIN и NS_ASSUME_NONNULL_END макросы вокруг каждого нового файла заголовка для каждого нового класса, который я создаю.

Я знаю, что он делает, но я не заинтересован в аннотации nullability, и он вызывает ненужные предупреждения, когда я пытаюсь установить некоторые свойства в nil в моем приложении (которые совершенно нормально установить на nil ).

Как предотвратить создание Xcode при каждом создании нового файла? (кроме очевидного: удаление их отдельно)

Всего 1 ответ


Основываясь на этой и этой статье, я смог создать собственный шаблон, чтобы избавиться от макросов NS_ASSUME_NONNULL* .

Выдержка из первой статьи:

Место нахождения

Эти пользовательские шаблоны расположены в ~ / Library / Developer / Xcode / Templates / File Template. Если такая папка отсутствует, вы можете создать ее самостоятельно, и Xcode будет связан с ней при повторном открытии. Также вы можете сгруппировать их в подпапки внутри этой папки. Например, ~ / Library / Developer / Xcode / Templates / File Template / Custom Templates и Xcode будут правильно отображать эти группы при создании нового файла.

Настройка шаблонов

Каждый шаблон представляет собой папку с расширением .xctemplate. Эта папка содержит шаблоны файлов и ресурсы, которые будут заполнены и добавлены в проект и конфигурацию TemplateInfo.plist.

Все шаблонные настройки и поля, которые пользователь может заполнить при создании шаблона, определены в TemplateInfo.plist.

  • создайте путь следующим образом:

    ~/Library/Developer/Xcode/Templates/File Templates/Source/My Awesome Template.xctemplate

  • перейдите в /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/Source/Cocoa Touch Class.xctemplate
  • скопируйте TemplateIcon.png , TemplateIcon@2x.png и TemplateInfo.plist в нашу папку My Awesome Template.xctemplate . Вы можете опустить значки копирования, если они вам не нужны в браузере или использовать свои собственные.
  • скопируйте папки NSObjectObjective-C and NSObjectSwift чтобы иметь возможность создавать файлы Obj C и Swift.
  • отредактируйте ___FILEBASENAME___.h , ___FILEBASENAME___.m , ___FILEBASENAME___.swift , например, поместите свои макросы или в нашем случае удалите окружающие NS_ASSUME_NONNULL* макросы
  • теперь вы можете найти свой шаблон в браузере создания файлов на самом верху
  • Прибыль!

Есть идеи?

10000