规范未通过验证,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'
对于这种情况有什么解决办法吗?
提前致谢。
编辑:(有用链接)
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: The
source_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
目录和 运行 打开项目。
由于这是出于学习目的,我建议您重新开始
我正在构建一个 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'
对于这种情况有什么解决办法吗?
提前致谢。
编辑:(有用链接)
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: The
source_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
目录和 运行 打开项目。
由于这是出于学习目的,我建议您重新开始