CocoaPod - The `public_header_files` pattern did not match any file -


i storing pre-compiled framework in amazon s3. "pod spec lint" fails following errors.

- error | [ios] file patterns: `source_files` pattern did not match file. - error | [ios] file patterns: `public_header_files` pattern did not match file. 

running verbose option shows downloading s3, instead of copying downloaded framework, cocoapod copying framework '~//library/caches/cocoapods/pods/external/' directory. turns out empty framework. because of this, "pod spec lint" fails above mentioned errors.

here relevant part "pod spec lint" output

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 copying myframework /users/xxx/library/caches/cocoapods/pods/external/myframework/01a6da9f1381e3dbc8db63de5409d451-2eea2 to
../../../../private/var/folders/qv/ld8pxb7d0_s1xn1mztqktj8h0000gn/t/cocoapods/lint/pods/myframework

running pre install hooks

when manually copied framework '~/library/caches/cocoapods/pods/external' directory validation goes through.

here podspec file.

pod::spec.new |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 

is there missing in podspec file. appreciated.

thanks!

your source_files property must contain project's source files, like

s.source_files = 'myframework/classes/**/*.{h,m,c}' 

and public_header_files must refer headers in project, not in result framework, like

s.ios.public_header_files =  'myframework/classes/publicheaders/*.h' 

Popular posts from this blog

php - How should I create my API for mobile applications (Needs Authentication) -

5 Reasons to Blog Anonymously (and 5 Reasons Not To)

Google AdWords and AdSense - A Dynamic Small Business Marketing Duo