ios - 尝试发布 Pod 后出现错误 'xcodebuild: Returned an unsuccessful exit code'

标签 ios objective-c swift xcode cocoapods

命令“pod trunk push --verbose”输出如下:

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 的存储库是 here .

有人能告诉我这个问题的原因以及如何解决吗?

最佳答案

问题归结为您的 podspec 中的这一行:

s.source = { :git => 'https://github.com/Ar7Style/GTNetworkQualityChecker.git', :tag => s.version.to_s }

:tag 是问题所在。您当前的 pod 验证不知道哪个提交代表您要发布的最终版本,即您的“0.1.0”版本。这就是为什么验证步骤是指你的 repo 协议(protocol)的旧版本(你确实有 FrameworkStoryboard.storyboard existing before you deleted it )。

换句话说,you need to tag your Pod with a tag that corresponds to your version number .

例如,在命令行:

git tag '0.1.0' # the version number you're using for this release
git push --tags

然后执行上面显示的验证步骤:

pod spec lint --verbose GTNetworkQualityChecker.podspec

如果它通过了,那么你应该执行你的 pod trunk push --verbose

关于ios - 尝试发布 Pod 后出现错误 'xcodebuild: Returned an unsuccessful exit code',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43193296/

相关文章:

ios - 将 NSNumber 转换为 Boolean 会为 iPhone 和 iPad 提供不同的结果

swift - Kotlin 相当于 Swift 的排序(按 :)

快速调试打印与打印

ios - 围绕原点旋转整个 SKView

javascript - 如何获取 Cordova 的谷歌地图API key

ios - 录音获取文件大小

iphone - 如何在 iOS 6 中获取 GMT 格式的时区

ios - UIBezierPath : Make image of drawing only

ios - 无法从我的项目中分配任何内容 - 静态库(使用 XCTests)

objective-c - Obj-C/ cocoa : Way to store temporary data during runtime