"${PODS_ROOT}/SwiftLint/swiftlint" 导致 "Command PhaseScriptExecution failed with a nonzero exit code" 和 Xcode 10
"${PODS_ROOT}/SwiftLint/swiftlint" causes "Command PhaseScriptExecution failed with a nonzero exit code" with Xcode 10
从 Xcode 10.0 beta 2 更新到 Xcode 10.0 beta 3 我现在在 iOS 项目的构建时遇到此错误:
sourcekit: [1:connection-event-handler:10499: 0.0000] Connection interruptsourcekit: [1:updateSemanticEditorDelay:10499: 0.0007] disabling semantic editor for 10 secondssourcekit: [1:pingService:10499: 0.0007] pinging servicesourcekitten: connection to SourceKitService restored!
Connection interrupted
Never call this for file that sourcekitd fails.: file File+Cache.swift, line 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: line 2: 34382 Abort trap: 6 "${PODS_ROOT}/SwiftLint/swiftlint"
Command PhaseScriptExecution failed with a nonzero exit code
Swift 4.1
CocoaPods 1.5.3
Swift皮棉 0.26.0
使用 Xcode 10.0 beta 3 或更高版本时,SwiftLint 0.26.0 脚本似乎存在问题。
原因
似乎与SwiftLint #2276, itself related to SourceKitten 0.21.0, fixed in SourceKitten 0.21.1和SwiftLint Master有关。
解决方案
更新到 SwiftLint 0.27.0 或更新版本:
pod 'SwiftLint', '~> 0.27'
(和运行 pod update SwiftLint
)
我有一台新的 Macbook,在尝试存档时遇到了这个错误。新机器忘记装cocopods了,所以装了,然后重启电脑重启Xcode就可以了。
当我等待并让项目完成索引后再做任何事情时,这个问题就解决了!
对我来说,在 "Build Setting -> valid architectures" 中添加 arm64 架构解决了这个问题。
某些框架或 SDK 需要代码签名。
我完成了代码签名并为我解决了问题。
我使用的 pod 没有为 Xcode 10 更新,所以对我有用的解决方案是从我的项目中删除 Cocoapods 然后重新安装(项目是创建的在 Xcode 9).
要删除它,最简单的方法是:
$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod clean
之后,再次安装 pods。
我刚刚重新启动了我的 Macbook,它工作正常。
我在后台有一个身份验证过程(在 Xcode 之外)运行,这似乎是我遇到此问题的原因。我打开了钥匙串对话框,询问我的密码。解决方案是重新启动机器。
重新启动 Xcode 10.1 为我修复了它;在更新 Cocoapods ('RxSwift') 时出现。
如果你得到
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
这是因为钥匙串访问。
- 打开钥匙串访问
- 右键单击“登录”选项卡
- 锁定钥匙串登录
- 再次右键单击“登录”选项卡
- 解锁钥匙串登录
问题已解决:)
如果你的项目所在的目录有空格就会出现问题
要解决该问题,请添加双引号 ("")。例如:
"$(SRCROOT)/我的framework/path"
就我而言,Apple 开发证书已过期。
验证打开钥匙串->我的证书->检查开发者证书是否有效,如果证书无效则按照以下步骤操作。
- 打开你的苹果开发者账户并创建一个新的开发证书
- 下载并将其添加到您的钥匙串中。
- 转到配置文件并打开您现有的开发配置文件并添加新创建的证书。
- 下载新的配置文件并安装。
希望这对你也有帮助。
我在使用 cocoa 后在我的 ionic4 应用程序上遇到了这个问题pods。我的问题是在 Targets->Build Phases->Embed Pods Frameworks 中,我 到 Pods-MyApp-frameworks.sh script 的路径错误更正该路径为我解决了这个问题。
这是因为大多数时候 $PODS_ROOT
变量在安装 pods
后没有设置
解决方案对我有用
我删除了下面列出的所有 pod 生成的文件和文件夹
- Podfile.lock
- Pods 文件夹
- ProjectName.xcworkspace
再次为此项目安装 pod。
现在打开.xcworkspace。构建并 运行...
可能会导致iOS13版本。我的错误是看下面
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"
然后清洁 运行
对我来说,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)
我通过重写 .sh 文件解决了这个问题。
Xcode 10 与 Swift 3.
1.rename 问题.sh 文件和 command+A
然后 command+C
.
2.vi *problem*.sh
和 command+V
.
3.:wq!
保存新文件。
那一切就ok了
如果不行,chmod a+x *problem*.sh
再试一次。
只有以下对我有帮助。
- 删除Podfile.lock
- 运行 pod 安装
- 可选 - 更新 SwiftLint 版本
对我来说,这是 swiftlint 的问题。当出现严重错误时会发生这种情况,例如 强制解包 swift lint 验证。
未显示实际的 SwiftLint 错误。而是显示此 “Command PhaseScriptExecution failed with a nonzero exit code” 错误。经过一番努力,我发现如果您的项目的目录名称或其任何层次结构文件夹有撇号 's ,那么实际的 swiftlint 错误或警告甚至不会显示在包含它的运行脚本之后。
所以我只需要重命名我的文件夹。
例如:
用户 -> Dave 的项目 -> Git -> 项目名称
应该改为
用户 -> Daves 项目 -> Git -> 项目名称
这将向您显示错误或警告。然后您可以修复错误,希望相关错误也将得到修复。
从 Xcode 10.0 beta 2 更新到 Xcode 10.0 beta 3 我现在在 iOS 项目的构建时遇到此错误:
sourcekit: [1:connection-event-handler:10499: 0.0000] Connection interruptsourcekit: [1:updateSemanticEditorDelay:10499: 0.0007] disabling semantic editor for 10 secondssourcekit: [1:pingService:10499: 0.0007] pinging servicesourcekitten: connection to SourceKitService restored!
Connection interrupted
Never call this for file that sourcekitd fails.: file File+Cache.swift, line 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: line 2: 34382 Abort trap: 6 "${PODS_ROOT}/SwiftLint/swiftlint"
Command PhaseScriptExecution failed with a nonzero exit code
Swift 4.1
CocoaPods 1.5.3
Swift皮棉 0.26.0
使用 Xcode 10.0 beta 3 或更高版本时,SwiftLint 0.26.0 脚本似乎存在问题。
原因
似乎与SwiftLint #2276, itself related to SourceKitten 0.21.0, fixed in SourceKitten 0.21.1和SwiftLint Master有关。
解决方案
更新到 SwiftLint 0.27.0 或更新版本:
pod 'SwiftLint', '~> 0.27'
(和运行 pod update SwiftLint
)
我有一台新的 Macbook,在尝试存档时遇到了这个错误。新机器忘记装cocopods了,所以装了,然后重启电脑重启Xcode就可以了。
当我等待并让项目完成索引后再做任何事情时,这个问题就解决了!
对我来说,在 "Build Setting -> valid architectures" 中添加 arm64 架构解决了这个问题。
某些框架或 SDK 需要代码签名。
我完成了代码签名并为我解决了问题。
我使用的 pod 没有为 Xcode 10 更新,所以对我有用的解决方案是从我的项目中删除 Cocoapods 然后重新安装(项目是创建的在 Xcode 9).
要删除它,最简单的方法是:
$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod clean
之后,再次安装 pods。
我刚刚重新启动了我的 Macbook,它工作正常。
我在后台有一个身份验证过程(在 Xcode 之外)运行,这似乎是我遇到此问题的原因。我打开了钥匙串对话框,询问我的密码。解决方案是重新启动机器。
重新启动 Xcode 10.1 为我修复了它;在更新 Cocoapods ('RxSwift') 时出现。
如果你得到
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
这是因为钥匙串访问。
- 打开钥匙串访问
- 右键单击“登录”选项卡
- 锁定钥匙串登录
- 再次右键单击“登录”选项卡
- 解锁钥匙串登录
问题已解决:)
如果你的项目所在的目录有空格就会出现问题 要解决该问题,请添加双引号 ("")。例如:
"$(SRCROOT)/我的framework/path"
就我而言,Apple 开发证书已过期。
验证打开钥匙串->我的证书->检查开发者证书是否有效,如果证书无效则按照以下步骤操作。
- 打开你的苹果开发者账户并创建一个新的开发证书
- 下载并将其添加到您的钥匙串中。
- 转到配置文件并打开您现有的开发配置文件并添加新创建的证书。
- 下载新的配置文件并安装。
希望这对你也有帮助。
我在使用 cocoa 后在我的 ionic4 应用程序上遇到了这个问题pods。我的问题是在 Targets->Build Phases->Embed Pods Frameworks 中,我 到 Pods-MyApp-frameworks.sh script 的路径错误更正该路径为我解决了这个问题。
这是因为大多数时候 $PODS_ROOT
变量在安装 pods
解决方案对我有用
我删除了下面列出的所有 pod 生成的文件和文件夹
- Podfile.lock
- Pods 文件夹
- ProjectName.xcworkspace
再次为此项目安装 pod。
现在打开.xcworkspace。构建并 运行...
可能会导致iOS13版本。我的错误是看下面
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"
然后清洁 运行
对我来说,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)
我通过重写 .sh 文件解决了这个问题。 Xcode 10 与 Swift 3.
1.rename 问题.sh 文件和 command+A
然后 command+C
.
2.vi *problem*.sh
和 command+V
.
3.:wq!
保存新文件。
那一切就ok了
如果不行,chmod a+x *problem*.sh
再试一次。
只有以下对我有帮助。
- 删除Podfile.lock
- 运行 pod 安装
- 可选 - 更新 SwiftLint 版本
对我来说,这是 swiftlint 的问题。当出现严重错误时会发生这种情况,例如 强制解包 swift lint 验证。
未显示实际的 SwiftLint 错误。而是显示此 “Command PhaseScriptExecution failed with a nonzero exit code” 错误。经过一番努力,我发现如果您的项目的目录名称或其任何层次结构文件夹有撇号 's ,那么实际的 swiftlint 错误或警告甚至不会显示在包含它的运行脚本之后。
所以我只需要重命名我的文件夹。
例如:
用户 -> Dave 的项目 -> Git -> 项目名称
应该改为
用户 -> Daves 项目 -> Git -> 项目名称
这将向您显示错误或警告。然后您可以修复错误,希望相关错误也将得到修复。