Coder Social home page Coder Social logo

cocoapods-expert-difficulty's Introduction

CocoaPods Expert Difficulty

Is forcing everyone to update to watchOS or tvOS getting you down? Well now you can say "screw you CocoaPods, I know what I'm doing". Then CocoaPods will allow you to use any pod on any platform.

This can break things. Obviously. So, err, use it for hacking, then do it properly.

Installation

Use a Gemfile. Here's a guide

Gemfile:

gem "cocoapods"
gem "cocoapods-expert-difficulty"

Podfile:

plugin "cocoapods-expert-difficulty"
[...]

Then use bundle exec pod install

cocoapods-expert-difficulty's People

Contributors

orta avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

rugby110

cocoapods-expert-difficulty's Issues

Difficulty loading plugin

Steps taken:

  1. bundle update cocoapods
  2. Added cocoapods-expert-difficulty to Gemfile
  3. bundle install
  4. Added plugin line to Podfile
  5. pod install

Output:

Error loading the plugin with path `/Users/adamcampbell/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-expert-difficulty-1.0.0/lib/cocoapods_plugin.rb`.

ArgumentError - wrong number of arguments (2 for 1)
/Users/adamcampbell/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-0.35.0/lib/cocoapods/hooks_manager.rb:31:in `register'
/Users/adamcampbell/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-expert-difficulty-1.0.0/lib/cocoapods_plugin.rb:5:in `<module:CocoaPodsExpert>'
/Users/adamcampbell/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-expert-difficulty-1.0.0/lib/cocoapods_plugin.rb:3:in `<top (required)>'
/Users/adamcampbell/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/claide-0.7.0/lib/claide/command/plugins_helper.rb:104:in `require'
/Users/adamcampbell/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/claide-0.7.0/lib/claide/command/plugins_helper.rb:104:in `safe_require'
/Users/adamcampbell/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/claide-0.7.0/lib/claide/command/plugins_helper.rb:32:in `block in load_plugins'
/Users/adamcampbell/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/claide-0.7.0/lib/claide/command/plugins_helper.rb:31:in `each'
/Users/adamcampbell/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/claide-0.7.0/lib/claide/command/plugins_helper.rb:31:in `load_plugins'
/Users/adamcampbell/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/claide-0.7.0/lib/claide/command.rb:265:in `run'
/Users/adamcampbell/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-0.35.0/lib/cocoapods/command.rb:45:in `run'
/Users/adamcampbell/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/cocoapods-0.35.0/bin/pod:43:in `<top (required)>'
/Users/adamcampbell/.rbenv/versions/2.1.3/bin/pod:23:in `load'
/Users/adamcampbell/.rbenv/versions/2.1.3/bin/pod:23:in `<main>'
---------------------------------------------


[!] Invalid `Podfile` file: undefined method `plugin' for #<Pod::Podfile:0x007fca089913b0>. Updating CocoaPods might fix the issue.

 #  from /Users/adamcampbell/Development/project/Podfile:4
 #  -------------------------------------------
 #  
 >  plugin "cocoapods-expert-difficulty"
 #  
 #  -------------------------------------------```

Plugin presence causes infinite loop in a React Native project

I'm posting this here mostly for google in hopes of helping someone else with this issue.

I used this plugin many years ago when I was adding tvOS support to one of my projects. In the Gemfile it sat, and I never removed it.

Fast forward to today and I noticed an issue when working on a React Native-based app. The use_native_modules step would trigger supported_platforms and this would recuse into the Podfile again, causing an infinite loop.

In the stack trace I noticed cocoapods-expert-difficulty was in there. I realized I no longer need this, so I removed the gem from my system and the problem went away.

Anyway, feel free to close this, hopefully this will help save someone the time I spent tracking this down! ๐Ÿ˜…

Monkey-patch the linter to break patched specs

Monkey-patching Specification#supported_platforms will cause not only that any podspec can be used in a integration via Podfile for a target definition of a non supported platform, but also that any podspec can be successfully linted, even if it's using dependencies, which don't support all it's target platforms. I don't think that should happen.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.