#ios #swift #swiftlint
#iOS #swift #swiftlint
Вопрос:
Я пытаюсь настроить swiftlint в своем проекте и white_list
не работает.
Вот что я пытаюсь сделать:
мой .swiftlint.yml
:
whitelist_rules:
- force_cast: warning
мой код:
let forceCast: Int = "hue" as! Int
что выдает ошибку:
Нарушение принудительного приведения: следует избегать принудительного приведения. (force_cast)
когда я ожидаю, что он выдаст мне только предупреждение, а не ошибку. Помимо этого примера, никакое другое правило не работает при включении whitelist
.
Я знаю, что swiftlint читает мой .swiftlint.yml
, потому что я тестировал его, disabled_rules
и, похоже, он работает нормально, так что дело не в пути к моему .swiftlint.yml
файлу.
Кроме того, для записи,
- Я правильно настроил этап запуска скрипта
- Я не использую
whitelist_rules
вместе сdisabled_rules
иopt_in_rules
, я использую толькоwhitelist_rules
. - Я использую swiftlint версии 0.40.3, xcode 11.3, ios 13.2 и swift 5
Чего мне не хватает? Почему это не работает?
Комментарии:
1. Я не думаю, что вы можете настроить правило в той же строке, где оно добавляется в белый список. Попробуйте удалить
: warning
here , а затем в другой строке (за пределами правил белого списка) скажитеforce_cast: warning
, чтобы настроить правило, и посмотрите, работает ли это.
Ответ №1:
На случай, если у кого-то возникли недавние проблемы с whilelist_rules
ключом конфигурации, обратите внимание, что он был переименован в only_rules
в версии 0.41.0