cocoapods - CocoaPod - `public_header_files` 模式与任何文件都不匹配

标签 cocoapods

我在 Amazon s3 中存储了一个预编译的框架。 “pod spec lint”失败并出现以下错误。

- ERROR | [iOS] file patterns: The `source_files` pattern did not match any file.
- ERROR | [iOS] file patterns: The `public_header_files` pattern did not match any file.

使用详细选项运行它显示它正在从 s3 下载,但 Cocoapod 不是复制下载的框架,而是从 '~//Library/Caches/CocoaPods/Pods/External/' 目录复制框架。这原来是一个空框架。因此,“pod spec lint”失败并出现上述错误。

这是“pod spec lint”输出的相关部分

Http download
$ /usr/bin/curl -f -L -o /var/folders/qv/ld8pxb7d0_s1xn1mztqktj8h0000gn/T/d20160601-3868-fmxlyy/file.tgz https://s3.amazonaws.com/framework.ios.sdk/MyFramework.framework.1.0.tar.gz --create-dirs --netrc

 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                Dload  Upload   Total   Spent    Left   Speed   

100 67562 100 67562 0 0 74480 0 --:--:-- --:--:-- --:--:-- 74407

$/usr/bin/tar xfz/var/folders/qv/ld8pxb7d0_s1xn1mztqktj8h0000gn/T/d20160601-3868-fmxlyy/file.tgz -C/var/folders/qv/ld8pxb7d0_s1xn1mztqktj8h0000gn/T/d20160601-3868-fmxlyy 从复制 MyFramework /Users/xxx/Library/Caches/CocoaPods/Pods/External/MyFramework/01a6da9f1381e3dbc8db63de5409d451-2eea2
../../../../private/var/folders/qv/ld8pxb7d0_s1xn1mztqktj8h0000gn/T/CocoaPods/Lint/Pods/MyFramework

运行预安装 Hook

当我手动将框架复制到“~/Library/Caches/CocoaPods/Pods/External”目录时,验证通过。

这是 podspec 文件。

Pod::Spec.new do |s|

s.name             = 'MyFramework'
s.version          = '1.0'
s.summary          = 'MyFramework'

s.description      =  'MyFramework'
s.source           = { "http"=> "https://s3.amazonaws.com/framework.ios.sdk/MyFramework.1.0.tar.gz"}
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'

s.platform     = :ios, "8.0"
s.source_files = 'MyFramework/Classes/**/*','MyFramework.framework/Headers/*.h'
s.ios.public_header_files =  'MyFramework.framework/Headers/*.h'
s.ios.vendored_frameworks = 'MyFramework.framework'
s.ios.frameworks = 'CoreGraphics', 'Foundation', 'MobileCoreServices', 'Security', 'SystemConfiguration', 'UIKit'


s.dependency 'AFNetworking', '~> 3.0'
s.dependency 'Mantle', '~>2.0.4'
s.dependency 'AWSCore'
s.dependency 'AWSS3'

end

podspec 文件中是否缺少任何内容。非常感谢任何帮助。

谢谢!

最佳答案

您的source_files 属性必须包含项目的源文件,例如

s.source_files = 'MyFramework/Classes/**/*.{h,m,c}'

并且您的public_header_files 必须引用项目中的 header ,而不是结果框架中的 header ,例如

s.ios.public_header_files =  'MyFramework/Classes/PublicHeaders/*.h'

关于cocoapods - CocoaPod - `public_header_files` 模式与任何文件都不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37581297/

相关文章:

ios - Xcode 11.3.1 无法从路径中的包加载 Info.plist

ios - Cocoapods 与 Gradle - iOS

javascript - React Native iOS - Hermes 在 Podfile 中启用,但在应用程序中未启用

ios - 未找到框架 GoogleToolboxForMac

ios - Swift 项目中的 Cocoa pods objective c 文件。桥接问题

ios - 使用 Cocoapods 和 AFNetworking 构建错误

ios - 找到链接到 stdc++ 的依赖项

ios - 带位码的 OpenSSL CocoaPod iOS?

ios - Xcode 无法使用 cocoapods 归档项目

ios - 如何使安装了 CocoaPods 的 pod 可用于我工作区中的所有项目?