规范未通过验证,CocoaPod 生成 Lint 错误

The spec did not pass validation, CocoaPod Generation Lint Error

我正在构建一个 CocoaPods 并制作 Touch Framework.

它的名称是 Elias 只是为了尝试,我从一个简单的教程开始,但由于一堆 lint 错误,我没有转发我的过程。文件方案如下所示,我很乐意描述 Service.swift.

中的内容

这是一个垃圾场 class。

class Service{

    private init() {

    }


    public static func doSomething() -> String {
        return "***"
    }


}

并且我将我的项目标记为 1.0.0

所以这是 .podspec 文件

Pod::Spec.new do |s|

  s.name         = "Elias"
  s.version      = "1.0.0"
  s.summary      = "The little description"

  s.description  = "Simple description string it is bla bla"
  s.homepage     = "https://gitlab.com/mycurrentaddress/elias"

  s.license      = "MIT"

  s.author             = { "mycurrentaddress" => "mymail@address" }
  s.platform     = :ios, "12.0"

  s.source       = { :git => "https://gitlab.com/currentaddress/elias.git", :tag => "1.0.0" }

  s.source_files  = "Elias/**/*"

end

当我pod spec lint检查它时,出现如下错误。

-> Elias (1.0.0)
    - WARN  | summary: The summary is not meaningful.
    - WARN  | description: The description is shorter than the summary.
    - WARN  | [iOS] license: Unable to find a license file
    - WARN  | [iOS] swift: The validator used Swift `4.0` by default because no Swift version was specified. To specify a Swift version during validation, add the `swift_versions` attribute in your podspec. Note that usage of a `.swift-version` file is now deprecated.
    - ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.
    - NOTE  | xcodebuild:  note: Using new build system
    - NOTE  | [iOS] xcodebuild:  note: Planning build
    - NOTE  | [iOS] xcodebuild:  note: Constructing build description
    - NOTE  | [iOS] xcodebuild:  error: Multiple commands produce 'mypath/Xcode/DerivedData/App-ddfwkgthjshbdqdbsavzaymtdyeo/Build/Products/Release-iphonesimulator/Elias/Elias.framework/Info.plist':
    - NOTE  | [iOS] xcodebuild:  warning: Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'App' from project 'App')
    - NOTE  | [iOS] xcodebuild:  warning: duplicate output file 'mypath/Xcode/DerivedData/App-ddfwkgthjshbdqdbsavzaymtdyeo/Build/Products/Release-iphonesimulator/Elias/Elias.framework/Info.plist' on task: ProcessInfoPlistFile mypath/Xcode/DerivedData/App-ddfwkgthjshbdqdbsavzaymtdyeo/Build/Products/Release-iphonesimulator/Elias/Elias.framework/Info.plist Target Support Files/Elias/Elias-Info.plist (in target 'Elias' from project 'Pods')

当我使用 --verbose 时,它生成了这个输出。

** CLEAN SUCCEEDED **

    note: Using new build system
    note: Planning build
    note: Constructing build description
    Build system information
    error: Multiple commands produce 'mypath/Xcode/DerivedData/App-hdkgocdtxpbmjvejebpnjgvfydfi/Build/Products/Release-iphonesimulator/Elias/Elias.framework/Info.plist':
    1) Target 'Elias' (project 'Pods') has copy command from '/var/folders/x6/0rn_y5_d1fj3dp4zc99csdb00000gq/T/CocoaPods-Lint-20191024-93856-9tjcsz-Elias/Pods/Elias/Elias/Info.plist' to 'mypath/Xcode/DerivedData/App-hdkgocdtxpbmjvejebpnjgvfydfi/Build/Products/Release-iphonesimulator/Elias/Elias.framework/Info.plist'
    2) Target 'Elias' (project 'Pods') has process command with output 'mypath/Xcode/DerivedData/App-hdkgocdtxpbmjvejebpnjgvfydfi/Build/Products/Release-iphonesimulator/Elias/Elias.framework/Info.plist'

    warning: Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'App' from project 'App')
    warning: duplicate output file 'mypath/Xcode/DerivedData/App-hdkgocdtxpbmjvejebpnjgvfydfi/Build/Products/Release-iphonesimulator/Elias/Elias.framework/Info.plist' on task: ProcessInfoPlistFile mypath/Xcode/DerivedData/App-hdkgocdtxpbmjvejebpnjgvfydfi/Build/Products/Release-iphonesimulator/Elias/Elias.framework/Info.plist /var/folders/x6/0rn_y5_d1fj3dp4zc99csdb00000gq/T/CocoaPods-Lint-20191024-93856-9tjcsz-Elias/Pods/Target Support Files/Elias/Elias-Info.plist (in target 'Elias' from project 'Pods')
    ** BUILD FAILED **

   Testing with `xcodebuild`. 
 -> Elias (1.0.0)
    - WARN  | summary: The summary is not meaningful.
    - WARN  | description: The description is shorter than the summary.
    - WARN  | [iOS] license: Unable to find a license file
    - WARN  | [iOS] swift: The validator used Swift `4.0` by default because no Swift version was specified. To specify a Swift version during validation, add the `swift_versions` attribute in your podspec. Note that usage of a `.swift-version` file is now deprecated.
    - ERROR | [iOS] xcodebuild: Returned an unsuccessful exit code.
    - NOTE  | xcodebuild:  note: Using new build system
    - NOTE  | [iOS] xcodebuild:  note: Planning build
    - NOTE  | [iOS] xcodebuild:  note: Constructing build description
    - NOTE  | [iOS] xcodebuild:  error: Multiple commands produce 'mypath/Xcode/DerivedData/App-hdkgocdtxpbmjvejebpnjgvfydfi/Build/Products/Release-iphonesimulator/Elias/Elias.framework/Info.plist':
    - NOTE  | [iOS] xcodebuild:  warning: Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'App' from project 'App')
    - NOTE  | [iOS] xcodebuild:  warning: duplicate output file 'mypath/Xcode/DerivedData/App-hdkgocdtxpbmjvejebpnjgvfydfi/Build/Products/Release-iphonesimulator/Elias/Elias.framework/Info.plist' on task: ProcessInfoPlistFile mypath/Xcode/DerivedData/App-hdkgocdtxpbmjvejebpnjgvfydfi/Build/Products/Release-iphonesimulator/Elias/Elias.framework/Info.plist Target Support Files/Elias/Elias-Info.plist (in target 'Elias' from project 'Pods')

错误通常从这一行开始。

error: Multiple commands produce 'mypath/Xcode/DerivedData/App-hdkgocdtxpbmjvejebpnjgvfydfi/Build/Products/Release-iphonesimulator/Elias/Elias.framework/Info.plist'

对于这种情况有什么解决办法吗?

提前致谢。

编辑:(有用链接)

Create CocoaPod

Why your podspec is failing

The solutions in here not worked for me

编辑:

[![Ignoring unf_ext-0.0.7.5 because its extensions are not built.  Try: gem pristine unf_ext --version 0.0.7.5

 -> BlinkingLabel (0.1.0)
    - ERROR | \[iOS\] file patterns: The `source_files` pattern did not match any file.
    - NOTE  | xcodebuild:  note: Using new build system
    - NOTE  | \[iOS\] xcodebuild:  note: Planning build
    - NOTE  | \[iOS\] xcodebuild:  note: Constructing build description
    - NOTE  | \[iOS\] xcodebuild:  warning: Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'App' from project 'App')

\[!\] BlinkingLabel did not pass validation, due to 1 error.
You can use the `--no-clean` option to inspect any issue.][5]][5]

我通过 pod lib lint 收到错误,因为 - ERROR | [iOS] file patterns: Thesource_filespattern did not match any file.

源文件道具是

s.source_files = 'BlinkingLabel/Classes/**/*'

有什么建议吗?

您不应该创建一个 Xcode 项目然后 运行 pod lib create MyLibrary

特别提到你的第一个 link,它说:

The template will generate an Xcode project for your library

该命令将为您完成所有工作。它将为您在一个工作区中创建两个项目!从相同的引用 link:

Pod - This is where you place your library's classes

Example - This is the generated Demo & Testing bundle

然后您将从 /Example 目录和 运行 打开项目。

由于这是出于学习目的,我建议您重新开始