从Xcode 10.0 beta 2更新到Xcode 10.0 beta 3我现在在iOS项目的构建时遇到此错误:
sourcekit:[1:connection-event-handler:10499:0.0000] Connection interrupttsourcekit:[1:updateSemanticEditorDelay:10499:0.0007]禁用10 secondssourcekit的语义编辑器:[1:pingService:10499:0.0007] pinging servicesourcekitten:连接SourceKitService恢复!
连接中断
永远不要为sourcekitd失败的文件调用此文件:file File + Cache.swift,第127行
/Users/Coeur/Library/Developer/Xcode/DerivedData/My-App-eloayqptodupvfhbyegtkncnhcpu/Build/Intermediates.noindex/My-App. build/UAT-iphonesimulator/My-App-Debug.build/Script-379156A71D62F5C100574D04.sh:第2行:34382中止陷阱:6"$ {PODS_ROOT}/SwiftLint/swiftlint"
命令PhaseScriptExecution失败并返回非零退出代码
Swift 4.1
CocoaPods 1.5.3
SwiftLint 0.26.0
我想在我的.swiftlint.yml文件中做这样的事情:
force_cast:
severity: warning # explicitly
excluded:
- Dog.swift
Run Code Online (Sandbox Code Playgroud)
我有这个代码,我不喜欢我得到的force_try警告:
let cell = tableView.dequeueReusableCellWithIdentifier(Constants.dogViewCellReuseIdentifier,
forIndexPath: indexPath) as! DogViewCell
Run Code Online (Sandbox Code Playgroud)
我想通过从规则中排除此文件来禁止此文件的警告.
有没有办法做到这一点 ?
之间有什么区别:
NSRange(location: 0, length: 5)
Run Code Online (Sandbox Code Playgroud)
和:
NSMakeRange(0, 5)
Run Code Online (Sandbox Code Playgroud)
因为Swiftlint我使用时会发出警告NSMakeRange,但我不知道为什么.
谢谢您的帮助 :-)
我正在使用swift进行应用程序开发并使用swift lint.但我收到有关以下代码的警告:
for settingsKeys in searchResults {
if settingsKeys.key == settingsObject.key {
settingsKeys.value = settingsObject.value
try context.save()
}
}
Run Code Online (Sandbox Code Playgroud)
屏幕截图如下:
我想在我的Swift项目中使用Swiftlint.我按照Realm指令安装了Swiftlint brew install swiftlint.此外,我面临创建.swiftlint.yml文件的问题.
那么请建议我如何进行?
我正在 Xcode 11 (beta 5) 中创建一个新的 iOS 应用程序,我想尝试使用 Swift Package Manager 而不是 CocoaPods 来管理依赖项。
使用 SwiftLint 和 CocoaPods 时的一个常见模式是添加 SwiftLint 作为依赖项,然后添加一个构建阶段来执行${PODS_ROOT}/SwiftLint/swiftlint;这样,所有开发人员最终都会使用相同版本的 SwiftLint。
如果我尝试在 Xcode 中添加 SwiftLint 作为 SwiftPM 依赖项,我需要的可执行目标将被禁用:
我可以通过创建一个Package.swift没有产品或目标的虚拟对象并swift run swiftlint在我的构建阶段运行来伪造它,但感觉很奇怪:
// swift-tools-version:5.1
import PackageDescription
let package = Package(
name: "dummy-package",
products: [],
dependencies: [
.package(url: "https://github.com/realm/SwiftLint.git", from: "0.34.0")
],
targets: []
)
Run Code Online (Sandbox Code Playgroud)
有没有办法在不创建虚拟包的情况下做到这一点?或者 Swift 包管理器只是不适合这个特定用例的工具?
我刚刚更新到Swift 4和Xcode 9并得到(swiftlint)警告,以下代码告诉我现在应该使用KVO:
警告:
(基于块的KVO违规:在使用Swift 3.2或更高版本时,首选基于新块的KVO API和键路径.(block_based_kvo))
旧代码:
override func observeValue(forKeyPath keyPath: String?,
of object: Any?,
change: [NSKeyValueChangeKey : Any]?,
context: UnsafeMutableRawPointer?) {
if keyPath == "outputVolume"{
guard let newKey = change?[NSKeyValueChangeKey.newKey] as? NSNumber else {
fatalError("Could not unwrap optional content of new key")
}
let volume = newKey.floatValue
print("volume " + volume.description)
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试修复:
let audioSession = AVAudioSession.sharedInstance()
audioSession.observe(\.outputVolume) { (av, change) in
print("volume \(av.outputVolume)")
}
Run Code Online (Sandbox Code Playgroud)
Apple 在这里声称大多数属性应该是dynamic(我知道这是AVPlayer而不是AVAudioSession).我查了一下,但dynamic在AVPlayer属性中找不到任何声明,并想知道它是如何工作的(如果我没有弄错,那些是KVO工作所必需的).
编辑:
我不确定它是否不会触发,因为它根本不起作用或者是由于我尝试归档的原因.总的来说,我希望通过推动硬件音量摇杆来获得有关音量变化的通知.
我从官方软件包安装了SwiftLint .现在,我希望完全删除并从Homebrew安装.我没有找到有关卸载SwiftLint的官方文档.有什么建议?
我的问题很简单,我怎么做都warnings成为errors上SwiftLint?(无需单独手动配置每个规则)
我们如何一次性修复我的 iOS 项目中由 swiftlint 引起的“尾随空白违规”警告?我不想手动更正它们中的每一个。此外,我不想禁用这些警告,因此您可以跳过该建议。
我一直在尝试查找和替换选项,但我没有得到正确的关键字来解决这个问题。
图片 :
