-
Notifications
You must be signed in to change notification settings - Fork 133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add OvershareKit podspec #2
Conversation
So I went all-out with dynamic subspecs :)
This has grown into something of a major change and I understand if you want to take some time to look over it. Another consequence is that, while subspecs make it very easy to use OvershareKit with Cocoapods, you'd need a bit more work to use OvershareKit outside of Cocoapods: a simple header file that defines all macros generated by the subspecs. |
oh… so overshare-kit works with iOS 7 only? |
Not necessarily, I just picked a number based on the screenshot :) @jaredsinclair perhaps can clarify minimum OS |
awesome :) i can't wait to see overshare-kit in the cocoapods repository. good job :) |
Here's a sample project using Overshare with cocoapods. Clone and run |
if you change the required version to iOS 6.0 I can test it in my projects. Like this: But I get an error because I am supporting iOS 6.0 in my projects. |
OK, podspec now using iOS 6 |
Thanks man! |
It won't work in iOS 6. It uses among other things: NSURLComponents, UIButtonTypeSystem, -[NSString stringByAddingPercentEncodingWithAllowedCharacters:], +[NSCharacterSet URLQueryAllowedCharacterSet], -[NSData base64EncodedStringWithOptions:], etc. |
OvershareKit requires iOS 7. We built it for the future, not the past.
|
Updated podspec to indicate 7, squashed |
Got it!!! that is both bad news and good news. building for the future is good ;) I suggest that you add that information to the main page so that everyone knows overshare-kit requires iOS 7. |
We are OK with having the ability for people to import and use OSK through Cocoapods, but not at the expense of rearranging the entire project and making it heavily dependent on people having to use Cocoapods. Neither Jared nor I use it in our workflows. Is there a way to do this without having to adjust the existing project implementation? |
I removed the |
With this new There is admittedly still the |
@jhersh I don't understand why there are #ifdefs wrapping Twitter, 1Password, and other activity types. Only the ADN and Pocket activities are dependent upon third-party repositories. None of the other types have dependencies. What are you trying to accomplish? |
@jaredsinclair It's less about dependencies and more a means for the developer to pick and choose only the providers she wants to include. For example I sure do love me some 1Password, and included a 1Password search feature in an app of mine, but I don't think anyone ever used it. Nor do I think my users would know the first thing about ADN. Ultimately the developer should know her users best, and subspecs let her make the judgment call about which to include. The full suite of OvershareKit providers, while very impressive, is too much for some uses. |
There's already an API for this. Check out the header for OSKActivitiesManager. You set permanent exclusions by activity type: |
Yup, you're correct. I guess subspecs could be the difference between excluding activities and excluding activities without requiring their dependencies. |
Also, those 1Password activities won't appear unless the user actually has the app installed. If somebody has the app, they'd probably want to use it, rather than applying a blanket policy that nobody should see it. :-) |
Same with OmniFocus, Things, and any other URL schemes yet to come. |
"Yup, you're correct. I guess subspecs could be the difference between excluding activities and excluding activities without requiring their dependencies." I don't understand what you mean. Our intention is to require those dependencies, plain and simple. We'd like to provide the option to either use traditional git submodules, or Cocoa Pods, to manage those dependencies. But we're not keen on peppering the library with #ifdefs to exclude activity types. |
Thanks, I think that's what I didn't understand until now. I'll take another look at the podspec |
Ah. Thanks. Sometimes I leave out important ______ in the middle of a thought. Bad habit. |
New podspec now posted with no project changes. It requires the ADNLogin and PocketAPI pods. To do remaining: push a tag, add tag and your emails to the podspec. |
Looking forward to using Overshare Kit via CocoaPods! |
+1 waiting for Cocoa Pods oficial repo. Meanwhile I copy your podspec to my "private" repo: https://github.com/patoroco/personal-specs If you want to use easily this podspec from cocoapods, simply add my repo to your cocoa executing:
Thanks for your podspec! :) |
That's brilliant @patoroco, thanks! |
@Heinemark Pods don't have modules enabled by default. You can either enable modules manually in your Pods project or use the new podspec I just pushed, which enables modules via compiler flag. |
@jhersh Thanks! It was the main project that had that setting set to NO. Apparently it's now set to YES by default in projects created in xcode 5 and later. |
please add official pod support!! 👍 |
Bump :) @jaredsinclair Here's all you need to do to support cocoapods in OvershareKit:
|
|
Thanks @jaredsinclair 👍 |
2-3) Yes, a git tag. I recommend http://semver.org/ (and therefore a first tag of 0.0.1) but you can pick a naming scheme that works for you Give me a minute to squash and rebase on master then you're all set |
Add OvershareKit podspec
@jhersh I merged your podspec, tagged the up-to-date merge with |
Thanks @jaredsinclair! We're really close. Some minor final bits here: #7 |
I remove spec in my personal Cocoa Pods Specs repo. Thanks @jhersh! |
I've started on an OvershareKit podspec as per #1.
This podspec lints cleanly with
pod spec lint
. There's a few more things to do: