How to fix 'Line Length Violation: Line should be 120 characters or less' - SwiftLint

Yatko picture Yatko · Feb 24, 2018 · Viewed 26.7k times · Source

How to fix Line Length Violation?

Relevant part of alert message that isn't allowed due to Line Length Violation: message: NSLocalizedString("\nYou will be requested to Use %@ to Sign In. %@ doesn't share any information about you. The permission is required to post your Live Video.", ⚠ Line should be 120 characters or less: currently 208 characters (line_length)

Answer

Rob Napier picture Rob Napier · Feb 24, 2018

Make the line shorter:

message: NSLocalizedString(
    ["\nYou will be requested to Use %@ to Sign In. ",
    "%@ doesn't share any information about you. The ",
    "permission is required to post your Live Video."].joined()
)

or better, using vacawama's multi-line solution:

let message = 
    """

    You will be requested to Use %@ to Sign In. \
    %@ doesn't share any information about you. \
    The permission is required to post your Live Video.
    """

That's a generic solution, but isn't really appropriate for NSLocalizedString because it breaks tools that scan for localized strings like genstrings.

Your other solution is to turn off the warning for that line by adding a disable on the line immediately before:

// swiftlint:disable:next line_length

See Disable rules in code for full details on disabling swiftlint rules.