Hacker News new | past | comments | ask | show | jobs | submit login
Build Tools for iOS (objc.io)
133 points by Smiller on Nov 8, 2013 | hide | past | favorite | 25 comments



This is actually "[a] periodical about best practices and advanced techniques in Objective-C." It turned out to be more interesting than the HN title made it seem.


You have to admin that it doesn't happen too often :D


The site is a periodical. The linked post is one article from the periodical. I get in it my inbox, it's always interesting.


They also now have a Newsstand app, which is predictably lovely. One of the best programming resources I'm subscribed too, the articles are always interesting and I always learn something new from them.


I subscribe to this and NSHipster. What other Obj-C resources do you follow?


Mike Ash's articles are the most in-depth I've seen.

http://mikeash.com/pyblog/


Yikes, that index page is incredibly hard to read, the actual content pages are much easier to read though. Looks like a solid resource, thanks.


It's worth it to go through the archives of Friday Q&A on Mike Ash's site.


There's also iOS Dev Weekly (http://iosdevweekly.com/) a curated newsletter with links to happenings in the iOS space.


http://inessential.com has some good stuff posted.


http://iosdevelopertips.com has some useful stuff too.


http://macdevelopertips.com often has some crossover as well.


> There are a lot of other analyses that clang does for you. If you clone the clang repository and go to lib/StaticAnalyzer/Checkers, you’ll see all the static checkers.

You can get a list of these from clang with `clang -cc1 -analyzer-checker-help`

Looks like this http://pastie.org/pastes/8466312/text


Love objc.io and their consistent quality iOS articles. I learn at least a few new things with every newsletter.


Love objc.io Best iOS articles ever


How does Travis CI stack up against the builtin continuous integration new to Xcode 5?


Travis CI (for now) is stuck on iOS 6, so you're out of luck if you're targeting 7. They expect to resolve this soon. You must also subscribe to a paid plan if you want Travis to build your private repo. That said, I use Travis for all of my iOS 6-compatible public cocoapods on Github.

Xcode 5's built-in Xcode bots require OS X Mavericks Server ($20) and, in my experience, has a very brittle setup if you're using Cocoapods. It's probably fine for simpler projects.

I've personally been running Jenkins locally. My build script:

  - Downloads provisioning profiles from Apple's dev center using Cupertino[0]
  - Builds and codesigns my app using Xctool[1]
  - Archives the app with xcrun
  - Builds my app again with the Testflight library, then uploads the result to TF
[0] https://github.com/nomad/cupertino

[1] https://github.com/facebook/xctool -- the only Facebook product I use!

Edit: Jenkins has an Xcode plugin, though I don't use it (I use xctool instead). I do use Jenkins' Testflight plugin, which makes it very easy to upload your build to testflight and include the build's changelog in your release notes.


Thanks for the Jenkins info. If you have an iOS Developer account, OS X Mavericks Server is available at no additional cost.


I second the advice to go with a 3rd-party CI (although I am partial to TeamCity).

This is especially because Apple's xcodebuild got way better in this release. It's the underlying deployment system behind the new CI, and in addition it can deploy things to devices now and handle all sorts of neat things that not even the best 3rd-party tools could do before. So:

> Unfortunately, xcodebuild doesn’t properly support test targets and application tests for iOS.

This is out of date, and if xcodebuild has given you problems in the past you should try it again.


Has teamcity fixed it's Xcode runner yet for Xcode 5? I am using team city with shell scripts that hand off to "xcodebuild" and "xcodebuild -test | ocunit2junit" but for I would have liked to try out the runners.

I prefer Jenkins overall, but our org uses team city and I would rather use something that has people devoted to managing it versus playing system administrator myself.


One of things that becomes evident when looking at the CI Bots is how inflexible it is. From what I gather pre/post built steps require baking them into your Xcode project for example. It just seems like it was developed for very simple projects being developed by a small team with little to no external dependencies.

I wonder if people building these tools have any experience building large scale iOS apps. Maybe they do, and developing for that case wasn't their objective.


FYI, there are a few problems with getting Cocoapods to work with Xcode's CI. I think there are a few who have managed to find out workarounds, but it requires some tinkering around at the moment.

https://github.com/CocoaPods/CocoaPods/issues/1492


Personally I just set up jenkins.



I’d be interested in hearing what other devs are using for iOS builds. All the options I’ve tried have been pretty terrible.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: