命令“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 的存储库位于此处。
有人可以告诉我该问题的原因以及如何解决它吗?
问题归结为 podspec 中的这一行:
s.source = { :git => 'https://github.com/Ar7Style/GTNetworkQualityChecker.git', :tag => s.version.to_s }
:tag
就是问题所在。您当前的 pod 验证不知道哪个提交代表您要发布的内容的最终结束,这将是您的“0.1.0
”版本。这就是为什么验证步骤引用旧版本的存储库(在删除它之前,您确实有FrameworkStoryboard.storyboard
现有的)。
换句话说,您需要使用与您的版本号对应的标签来标记您的 Pod。 例如,在命令行:
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
。
s.source_files = "EXPLogger/*.{h,m,swift}"
pod spec lint
命令之后收到此错误,因为我在 podspec 文件(s.swift_version)中使用了不可用的 Swift 版本,它是不存在的版本 6。