Search code examples
ioscocoapodspodspec

Problems with source_files in cocoapods


I'm new in the world of iOS programming and cocoaPods and I have a problem with "pod lib lint" (well, actually I have a lot of problems because I'm still learning :P ) . The problem is that I have my podspec file in two different files, in different folders. In the first one, when I execute "pod lib lint" it says that everything is Ok, but in the second one (which is a copy of the first one but in the cocoaPods project, ready to do a pull request) throws this errors:

- ERROR | The `source_files` pattern did not match any file.
- WARN  | Unable to find a license file

I googled about it and a lot of people have problems with this error, but nobody says nothing about having problems depending of the path.

The "interesting" part of my podspec file is

Pod::Spec.new do |s|
  s.name             = "countdown"
  s.version          = "0.2.1"
  s.summary          = "Countdown is a class to implement a timer used to do a countdown"
  s.description      = <<-DESC
                       Countdown was created to provide a simple and fast way to create our own countdown in apps that need this feature. This countdown counts in seconds, but when the remaining time is less than one minute it counts in tenths.

As you will see, right now is a very simple class, with just some methods to use, but we will upload more methods as soon as somebody need it.

Please, if you want to help us to improve Countdown, send us your opinion to info@omitsis.com or just comment here ;-)
                       DESC
  s.homepage         = "http://www.omitsis.com/"
  s.license          = 'MIT'
  s.author           = { "Omitsis Consilting S.L." => "info@omitsis.com" }
  s.source           = { :git => "https://github.com/omitsis/countdown-ios.git", :tag => "v0.2.1" }
  s.social_media_url = 'https://twitter.com/omitsis'

  s.requires_arc = true

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

  s.ios.exclude_files = 'Classes/osx'
  s.frameworks  = 'XCTest', 'Foundation'
end

Somebody can help me with this problem, please? Thanks to everybody and I'm sorry if this question is quite "noob level" :).


Solution

  • I believe you are trying to add your Count Down as a public pod via CocoaPods Specs? Awesome, here's how.

    It is a manual process at the moment to do this (from the docs)

    • Clone CocoaPods/Specs locally.
    • In a single commit, add a folder for your Pod to the main list, as well as the Spec in the format described in the Creating a Pod Repo section.
    • Run pod spec lint to check for errors.
    • If the linter produces errors or warnings, fix them and go back to step 3. If not, continue on.
    • Make your pull request to the master Specs Repo.

    But with a future release of CocoaPods 0.33 you should be able to do this much easily with the new pod trunk command.