objective-c - Podspec 模式包含未在 source_files 中列出的头文件
问题描述
我正在尝试创建一个 Cocoapod。但是当我运行时pod lib lint
,出现以下错误:
MyCoolProject (1.0.0)
- ERROR | [iOS] public_header_files: The pattern includes header files that are not listed in source_files
然后它列出了我所有的 .h 文件。(为简洁起见,删除了一些)
/Users/myusername/Documents/GitHub/MyCoolProject/Pod/Classes/Objective-C/MyCoolProject.h,
/Users/myusername/Documents/GitHub/MyCoolProject/Pod/Classes/Objective-C/MyCoolProjectConstants.h,
/Users/myusername/Documents/GitHub/MyCoolProject/Pod/Classes/Objective-C/MyCoolProjectEnums.h,
/Users/myusername/Documents/GitHub/MyCoolProject/Pod/Classes/Objective-C/MyCoolProjectMacros.h,
/Users/myusername/Documents/GitHub/MyCoolProject/Pod/Classes/Objective-C/MyCoolProject_.h,
/Users/myusername/Documents/GitHub/MyCoolProject/Pod/Classes/Objective-C/UIView+MyCoolProjectPrivate.h,
/Users/myusername/Documents/GitHub/MyCoolProject/Pod/Classes/Objective-C/UIViewController+MyCoolProject.h
我花了 2 天时间,发现 0 条信息可以帮助我理解和纠正错误。谁能阐明我可能做错了什么?
这是我的 podspec 文件
Pod::Spec.new do |s|
s.name = "MyCoolProject"
s.version = "1.0.0"
s.summary = "Color Framework for iOS (Obj-C & Swift)"
s.homepage = "https://github.com/myusername/MyCoolProject"
s.license = { :type => "MIT", :file => "LICENSE.md" }
s.author = "My Name"
s.platform = :ios
s.ios.deployment_target = '8.0'
s.source = { :git => "https://github.com/myusername/MyCoolProject.git",
:tag => s.version.to_s }
s.public_header_files = 'Pod/Classes/Objective-C/**/*.h'
s.frameworks = 'UIKit', 'QuartzCore', 'CoreGraphics'
s.default_subspecs = 'Default'
s.subspec 'Default' do |ss|
ss.source_files = 'Pod/Classes/Objective-C/**/*.{h,m}'
end
s.subspec 'Swift' do |ss|
ss.ios.deployment_target = '8.0'
ss.source_files = 'Pod/Classes/Swift/MyCoolProjectShorthand.swift'
ss.dependency 'MyCoolProject/Default'
end
end
正如您从我的屏幕截图中看到的那样,所有文件都在那里:
解决方案
public_header_files
将声明移动到Default
子规范中会有所不同吗?还是转移source_files
到外部范围?
我怀疑Swift
CocoaPods 在处理其依赖项之前正在检查文件中的子规范。
推荐阅读
- r - 将 ggplot 代码块添加到 RMarkdown 会破坏 HTML 选项卡集
- c# - 使用 Ajax 传递多个模型返回 null?
- shopware - shopwaredata.shipping_method_price_new_price_update 已经存在
- asp.net - Quartz.NET 手动调用重复作业
- flutter - 颤振:RangeError(最大值):必须为正且<= 2 ^ 32:不在包含范围1..4294967296:0
- excel - Excel Countifs 函数,其中条件之一是名称列表
- google-bigquery - 谷歌表格---->BigQuery 迁移
- java - 给定数组中不同数组的数量
- java - 查看目前加载的所有 Spring 配置文件
- visual-studio - 如何通过单击开始在解决方案中构建所有项目?