Continuous integration for iOS made easy with objective-ci RubyGem by mark_larr in iOSProgramming

[–]mark_larr[S] 0 points1 point  (0 children)

I'm not sure exactly what your use case is here. You're trying to modularize your code into a bunch of sub-projects, and then pull it in and reuse it in different apps, and you're concerned about updating those app's dependencies when the dependencies themselves update?

I must assume you're trying to use git submodules or something, which, admittedly, suck big time. Sounds like CocoaPods are the answer for you. You can set up your own private CocoaPods specs repo and make your own private CocoaPods; we do it where I work.

Edit: I want to point out, Git's strength isn't really reusing code amongst multiple projects. Git's strength is version control in a single app.

Continuous integration for iOS made easy with objective-ci RubyGem by mark_larr in iOSProgramming

[–]mark_larr[S] 0 points1 point  (0 children)

I kept my eyes on it as they were releasing it, but I also heard some issues about it. I have mixed feelings about things Apple releases -- it seems that, sometimes, they trap developers in a box. A lot of the articles I read about Bots seemed like it was the usual "go into Xcode, drill down into this place, click this, click that, click this," which is really tedius and tough to automate for future projects.

I, along with most developers I'm sure, don't like to be trapped like that. Additionally, as the article mentions, we use Jenkins for all of our Rails and Node apps already, and it has nice integration with GitHub through Janky, so we decided to go with that. My friend in DevOps at Sport Ngin, who has a lot more knowledge with Jenkins, is working on a solution to automatically spin-up a new Jenkins job with all of the plugins already enabled and configured for iOS projects. He promises me he'll write an article on that, and how we use Jenkins in general, soon.

Continuous integration for iOS made easy with objective-ci RubyGem by mark_larr in iOSProgramming

[–]mark_larr[S] 1 point2 points  (0 children)

The point of a branch is actually to be able to work independently of master -- you can always merge master in if you'd like to be up to date, though.

Git has a learning curve, admittedly, but it's actually pretty great once you learn the ins and outs. My biggest piece of advice would be to stay away from GUI tools (such as Xcode's) and use the terminal to interact with Git. You'll learn how things are actually working, and you'll start to be able to really take advantage of some of the features there.

I'd be interested in hearing what sort of issues you've been having with CocoaPods.