SwiftLint:无法将类型 'Swift.Int64' 的值转换为 'Swift.String',构建 SwiftLint

SwiftLint: Could not cast value of type 'Swift.Int64' to 'Swift.String', Build SwiftLint

我在 Xcode 9、Swift 4 中将 Swiftlint 与我的项目集成。

我用 Cocoa 安装了 swiftlintpods。我的 Podfile 如下所示:

# Uncomment the next line to define a global platform for your project
 platform :ios, '10.0'

target 'my_target' do
    # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
    use_frameworks!

    # Pods for my_target

    # https://github.com/Alamofire/Alamofire
    pod 'Alamofire'

    # https://fabric.io/kits/ios
    pod 'Fabric'

    # https://github.com/realm/SwiftLint
    pod 'SwiftLint'

end

在尝试构建项目时我看到了这个错误:

Could not cast value of type 'Swift.Int64' (0x10ff35f80) to 'Swift.String' (0x10ff3c4d8).

pods安装的版本是0.25.1 为什么会这样?

很可能您使用的 SwiftLint 版本有误。

截至撰写本文时,最新版本是 0.25.1

您可以在这里查看最新版本: https://github.com/realm/SwiftLint/releases

查看你是哪个版本运行:swiftlint version

SwiftLint 不是通过 CocoaPods 安装的!

要升级到最新版本:

  • 删除 SwiftLint:brew uninstall swiftlint

  • 安装 SwiftLint:brew install swiftlint