“ $ {PODS_ROOT} / SwiftLint / swiftlint”导致Xcode 10

时间:2018-07-04 12:48:45

标签: swift xcode xcode10 swiftlint

从Xcode 10.0 beta 2更新到 Xcode 10.0 beta 3 ,我现在在构建iOS项目时收到此错误:

  

sourcekit:[1:connection-event-handler:10499:0.0000]连接中断sourcekit:[1:updateSemanticEditorDelay:10499:0.0007]禁用语义编辑器10秒钟sourcekit:[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

20 个答案:

答案 0 :(得分:54)

这是由于钥匙串访问。

  • 打开钥匙串访问
  • 右键单击“登录”选项卡
  • 锁定钥匙串登录
  • 再次右键单击“登录”选项卡
  • 解锁钥匙串登录

问题已解决:)

答案 1 :(得分:27)

在使用Xcode 10.0 beta 3或更高版本时,SwiftLint 0.26.0脚本似乎存在问题。

原因

它似乎与SwiftLint #2276有关,它本身与SourceKitten 0.21.0有关,已在SourceKitten 0.21.1和SwiftLint Master中修复。

解决方案

更新到SwiftLint 0.27.0或更高版本:

pod 'SwiftLint', '~> 0.27'

(并运行pod update SwiftLint

答案 2 :(得分:25)

某些框架或SDK需要代码签名。

我完成了代码签名,并为我解决了问题。enter image description here

答案 3 :(得分:17)

我使用的Pod尚未针对Xcode 10更新,因此对我有用的解决方案是从项目中删除Cocoapods,然后再次安装(该项目在Xcode 9上创建)。

要删除它,最简单的方法是:

$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod clean

在那之后,再次安装吊舱。

答案 4 :(得分:12)

我刚刚重新启动了Macbook,它开始工作。

答案 5 :(得分:3)

对我来说,在“构建设置->有效体系结构”中添加arm64体系结构解决了该问题。

答案 6 :(得分:3)

我在后台运行了身份验证过程(在Xcode之外),这似乎对我造成了这个问题。我打开了钥匙串对话框,要求输入密码。解决方法是重新启动计算机。

答案 7 :(得分:0)

对我来说,这是 swiftlint 的问题。当出现严重错误时会发生这种情况,例如 强制解包 swift lint 验证。

未显示实际的 SwiftLint 错误。而是显示此“Command PhaseScriptExecution failed with a nonzero exit code”错误。经过一番努力,我发现如果您的项目的目录名称或其任何层次结构文件夹带有撇号 's ,那么即使包含它的运行脚本,也不会显示实际的 swiftlint 错误或警告。< /p>

所以我只需要重命名我的文件夹。

例如:

用户 -> Dave 的项目 -> Git -> 项目名称

应该改为

用户 -> Daves 项目 -> Git -> 项目名称

这将显示错误或警告。然后您可以修复错误,希望相关错误也能得到修复。

答案 8 :(得分:0)

只有以下内容对我有所帮助。

  1. 删除Podfile.lock
  2. 运行pod install
  3. 可选-更新SwiftLint版本

答案 9 :(得分:0)

我通过重写.sh文件来解决此问题。 带有Swift 3的Xcode 10。

1。重命名问题 .sh文件,然后依次command+Acommand+C
2。vi *problem*.shcommand+V
3。:wq!保存新文件。

那一切都会好的。

如果还不行,请chmod a+x *problem*.sh,然后重试。

答案 10 :(得分:0)

对我来说,swiftlint脚本似乎存在问题。最初是这样,这是安装时文档中的内容

else
echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi

我通过将其修改为

来解决该问题
if swiftlint
then
echo "swiftlint installed"
else
echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi

不确定,这可能是由于我的XCode版本(10.3)

答案 11 :(得分:0)

这可能会导致iOS 13版本。我的错误是看下面的

Assignment/Pods-Assignment-frameworks.sh: eval: line 131: unexpected EOF while looking for matching `''
Command PhaseScriptExecution failed with a nonzero exit code

Pods -> Targets Support Files -> Pods-AppName -> Pods-AppName-frameworks.sh。      只是评论特定行131

 # eval "$code_sign_cmd"

然后清理并运行

答案 12 :(得分:0)

解决方案对我有用

我删除了以下列出的所有pod生成的文件和文件夹

  • Podfile.lock
  • Pods文件夹
  • ProjectName.xcworkspace

再次为此项目安装Pod。

现在打开.xcworkspace。生成并运行...

答案 13 :(得分:0)

在使用cocoapods之后,我在ionic4应用程序上遇到了这个问题。我的问题是在Targets-> Build Phases-> Embed Pods Frameworks中,我有一个错误的Pods-MyApp-frameworks.sh脚本路径,该路径为我解决了问题。 这是因为安装Pod后大部分时间$PODS_ROOT变量未设置

答案 14 :(得分:0)

就我而言,Apple开发证书已过期。

要验证打开的钥匙串->我的证书->检查开发人员证书是否有效,如果证书无效,请执行以下步骤。

  • 打开您的Apple开发人员帐户并创建新的开发证书
  • 下载并添加到您的钥匙串中。
  • 转到配置文件并打开现有的开发配置文件,然后添加新创建的证书。
  • 下载新的配置文件并安装它。

希望这对您也有帮助。

答案 15 :(得分:0)

重新启动Xcode 10.1已为我修复了它;在更新Cocoapods('RxSwift')时出现。

答案 16 :(得分:0)

等待我等待并让项目完成索引后再执行任何操作,此问题将为我解决!

答案 17 :(得分:-1)

如果项目所在的目录中有空格,则会出现问题 要解决该问题,请添加双引号(“”)。例如:

“ $(SRCROOT)/我的框架/路径”

答案 18 :(得分:-1)

如果您得到

dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib

和红色

Command PhaseScriptExecution failed with a nonzero exit code

您应该install the specific version of libreadline that you need

brew install readline
brew list --versions readline
brew switch readline 0.0.0

答案 19 :(得分:-1)

我有一台新的Macbook,尝试存档时出现此错误。我忘了在新机器上安装cocopods,所以我这样做了,然后重新启动计算机并重新启动Xcode,它可以正常工作。