尝试发布Pod后出现错误“ xcodebuild:返回失败的退出代码” [英] Error 'xcodebuild: Returned an unsuccessful exit code' after trying publishing Pod
问题描述
命令'pod trunk push --verbose'输出以下内容:
Command 'pod trunk push --verbose' outputs the following:
Build settings from command line:
CODE_SIGN_IDENTITY = -
SDKROOT = iphonesimulator10.1
=== CLEAN TARGET GTNetworkQualityChecker OF PROJECT Pods WITH CONFIGURATION Release ===
Check dependencies
** INTERNAL ERROR: Uncaught exception **
Uncaught Exception: *** -[__NSArrayM insertObject:atIndex:]: object cannot be nil
Stack:
0 __exceptionPreprocess (in CoreFoundation)
1 objc_exception_throw (in libobjc.A.dylib)
2 -[__NSArrayM insertObject:atIndex:] (in CoreFoundation)
3 -[XCCompilerSpecificationIBStoryboardLinker _outputNodesForInputNodes:withMacroExpansionScope:] (in DevToolsCore)
4 -[XCCompilerSpecificationIBStoryboardLinker doSpecialDependencySetupForCommand:withInputNodes:withMacroExpansionScope:] (in DevToolsCore)
5 -[XCCommandLineToolSpecification createCommandsforInputs:withMacroExpansionScope:] (in DevToolsCore)
6 -[PBXTargetBuildContext invokeTask:forInputs:withMacroExpansionScope:optionTable:] (in DevToolsCore)
7 -[XCDependencyGraphCreationContext invokeTask:forInputs:withMacroExpansionScope:optionTable:] (in DevToolsCore)
8 -[XCCompilerSpecification computeDependenciesForInputNodes:ofType:variant:architecture:outputDirectory:withMacroExpansionScope:] (in DevToolsCore)
9 -[XCCompilerSpecification computeDependenciesForFilePath:ofType:outputDirectory:withMacroExpansionScope:] (in DevToolsCore)
10 -[XCBuildRuleDGSnapshot(DependencyGraphCreation) computeDependenciesForFilePath:ofType:forBuildFileReference:withOutputDirectory:parameterMacros:withMacroExpansionScope:] (in DevToolsCore)
11 -[XCBuildRuleDGSnapshot(DependencyGraphCreation) computeDependenciesForBuildFileReference:withOutputDirectory:parameterMacros:withMacroExpansionScope:] (in DevToolsCore)
12 -[XCSourcesBuildPhaseDGSnapshot(DependencyGraphCreation) _computeDependenciesForBuildFileReference:usingBuildRule:withMacroExpansionScope:processedPaths:] (in DevToolsCore)
13 -[XCSourcesBuildPhaseDGSnapshot(DependencyGraphCreation) computeDependenciesForBuildFileReference:usingBuildRule:withMacroExpansionScope:] (in DevToolsCore)
14 -[XCSourcesBuildPhaseDGSnapshot(DependencyGraphCreation) computeDependenciesForBuildFileReference:withMacroExpansionScope:] (in DevToolsCore)
15 -[XCBuildPhaseDGSnapshot(DependencyGraphCreation) computeDependenciesForAllBuildFileReferencesWithMacroExpansionScope:] (in DevToolsCore)
16 -[XCSourcesBuildPhaseDGSnapshot(DependencyGraphCreation) computeDependenciesForAllBuildFileReferencesWithMacroExpansionScope:] (in DevToolsCore)
17 -[XCSourcesBuildPhaseDGSnapshot(DependencyGraphCreation) computeDependenciesWithMacroExpansionScope:] (in DevToolsCore)
18 -[XCProductTypeSpecification computeDependenciesWithMacroExpansionScope:] (in DevToolsCore)
19 -[XCNativeTargetDGSnapshot(DependencyGraphCreation) computeDependenciesWithMacroExpansionScope:] (in DevToolsCore)
20 -[PBXTargetBuildContext createDependencyGraphWithTargetDGSnapshot:] (in DevToolsCore)
21 -[PBXTargetBuildContext(DependencyGraphEvents) dg_setTargetSnapshot:] (in DevToolsCore)
22 -[PBXTargetBuildContext(DependencyGraphEvents) processDependencyGraphEvents] (in DevToolsCore)
23 -[XCBlockQueue _processNextBlockInThreadSlotNumber:] (in DevToolsCore)
24 -[XCBlockQueue _processBlocksInThreadSlotNumber:] (in DevToolsCore)
25 __NSThread__start__ (in Foundation)
26 _pthread_body (in libsystem_pthread.dylib)
27 _pthread_body (in libsystem_pthread.dylib)
28 thread_start (in libsystem_pthread.dylib)
-> GTNetworkQualityChecker (0.1.0)
- ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code.
[!] The spec did not pass validation, due to 1 error.
我有Xcode 8.1,Cocoapods v 1.2.0。 Pod的存储库位于此处。
I've Xcode 8.1, Cocoapods v 1.2.0. Pod's repository is here.
任何人都可以告诉我是该问题的原因以及如何解决?
Could anybody tell me reason of that problem and how It may be fixed?
推荐答案
问题归结为您的podspec中的这一行:
The problem comes down to this line in your podspec:
s.source = { :git => 'https://github.com/Ar7Style/GTNetworkQualityChecker.git', :tag => s.version.to_s }
:tag
是问题所在。您当前的Pod验证不知道哪个提交代表您要发布的最终版本,即您的 0.1.0
版本。这就是为什么验证步骤引用的是您仓库的较旧版本(您确实有 FrameworkStoryboard.storyboard
现有删除之前)。
The :tag
is the problem. Your current pod validation doesn't know which commit represents the definitive end of what you want to release, which would be your "0.1.0
" version. That's why the validation step is referring to an older version of your repo (where you did have FrameworkStoryboard.storyboard
existing before you deleted it).
换句话说,>您需要使用与您的版本号相对应的标签来标记Pod。。
例如,在命令行上:
git tag '0.1.0' # the version number you're using for this release
git push --tags
然后执行上面显示的验证步骤:
Then do the validation step that I showed you up above:
pod spec lint --verbose GTNetworkQualityChecker.podspec
如果通过了,那么您应该进行 pod中继线推送-详细 c。
And if it passes, then you should do your pod trunk push --verbose
.
这篇关于尝试发布Pod后出现错误“ xcodebuild:返回失败的退出代码”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!