Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A linter tool for Interface Builder

License

NotificationsYou must be signed in to change notification settings

IBDecodable/IBLinter

Repository files navigation

Build StatusSwift 5.0

A linter tool to normalize.xib and.storyboard files. Inspired byrealm/SwiftLint

Installation

$ brew install iblinter

UsingMint

$ mint install IBDecodable/IBLinter
pod'IBLinter'

This will download the IBLinter binaries and dependencies inPods/ during your nextpod install execution and will allow you to invoke it via${PODS_ROOT}/IBLinter/bin/iblinterin your Script Build Phases.

Compiling from source

You can build from source by cloning this repository and running

$ make install

iblinter will be installed in/usr/local/bin.

Usage

You can see all description byiblinter --help

$ iblinter --helpUSAGE: iblinter <subcommand>OPTIONS:  --version               Show the version.  -h, --help              Show help information.SUBCOMMANDS:  lint (default)          Print lint warnings and errors  See 'iblinter help <subcommand>' for detailed help.

Xcode

Add aRun Script Phase to integrate IBLinter with Xcode

if which iblinter>/dev/null;then  iblinter lintelseecho"warning: IBLinter not installed, download from https://github.com/IBDecodable/IBLinter"fi

Alternatively, if you've installed IBLinter via CocoaPods the script should look like this:

"${PODS_ROOT}/IBLinter/bin/iblinter"

Requirements

IBLinter requires Swift5.0 runtime. Please satisfy at least one of following requirements.

Rules

All rules are documented inRules.md

Pull requests are encouraged.

Configuration

You can configure IBLinter by adding a.iblinter.yml file from project root directory.

keydescription
enabled_rulesEnabled rules id.
disabled_rulesDisabled rules id.
excludedPath to ignore for lint.
includedPath to include for lint.
custom_module_ruleCustom module rule configs.
use_base_class_ruleUse base class rule configs.
view_as_device_ruleView as device rule configs.

CustomModuleConfig

You can configurecustom_module rule byCustomModuleConfig list.

keydescription
moduleModule name.
includedPath to*.swift classes of the module forcustom_module lint.
excludedPath to ignore for*.swift classes of the module forcustom_module lint.

UseBaseClassConfig

You can configureuse_base_class rule byUseBaseClassConfig list.

keydescription
element_classElement class name.
base_classesBase classes of the element class.

Note: UseBaseClassRule does not work for classes that inherit base class. You need to add all classes tobase_classes to check.

ViewAsDeviceConfig

You can configureview_as_device rule byViewAsDeviceConfig. If there are no config,device_id is set asretina4_7.

keydescription
device_idDevice id for device.

appx. Table of mapping device name todevice_id (onXcode 10.2)

device namedevice id
iPhone 4sretina3_5
iPhone SEretina4_0
iPhone 8retina4_7
iPhone 8 Plusretina5_5
iPhone XSretina5_9
iPhone XRretina6_1
iPhone XS Maxretina6_5

UseTraitCollectionsConfig

You can configureuse_trait_collections rule byUseTraitCollectionsConfig. If there is no config then use_trait_collections is set to true

keydescription
enabledtrue

HidesBottomBarConfig

You can configurehides_bottom_bar rule byHidesBottomBarConfig list.

keydescription
excluded_view_controllersController's class name to ignorehides_bottom_bar rule.
enabled_rules:  -relative_to_margin  -use_trait_collections  -hides_bottom_bar  -has_single_view_controller  -has_initial_view_controllerdisabled_rules:  -custom_class_nameexcluded:  -Carthage  -Appincluded:  -App/Viewscustom_module_rule:  -module:UIComponentsincluded:      -UIComponents/Classesexcluded:      -UIComponents/Classes/Config/Generateduse_base_class_rule:  -element_class:UILabelbase_classes:      -PrimaryLabel      -SecondaryLabelview_as_device_rule:device_id:retina4_0use_trait_collections_rule:enabled:falsehides_bottom_bar_rule:excluded_view_controllers:    -FirstViewController    -SecondViewController

[8]ページ先頭

©2009-2025 Movatter.jp