Below are a couple of resources I've found useful when doing TDD in iOS.
Books:
- Test-Driven iOS Development - the only TDD book specific to iOS. It goes over implementing a fully functional iOS app using TDD, from the data layer all the way to the UI.
- Working Effectively with Legacy Code - although not specifically geared towards iOS, this book is the authority on how to work with untested code (legacy code), how to safely make changes to it, all by applying TDD.
Frameworks/Tools:
- OCUnit (SenTestingKit) / XCTest - testing unit frameworks built directly into Xcode.
- OCMock - objective-c implementation of mock objects. Provides features such as class mocks, stubs, protocol mocks, expect/verify, and many more.
- OCHamcrest, OCMockito, Kiwi, GHUnit, Cedar - other unit testing tools that you might find useful.
- CoverStory / lcov - code coverage of your unit tests.
Articles/Tutorials:
- Screencasts from NSScreencast - TDD related screencasts.
- Intro to TDD for iOS part 1 and part 2 - taking a Tic-Tac-Toe game through the TDD process.
- OCMock and UIAutomation tutorials - writings about mocking objects and the UI Automation tool.
- iOS Unit Testing - dedicated website for iOS Unit Testing.
- Unit Testing iOS Applications - online course on unit testing iOS applications, covering OCUnit, GHUnit, OCMock, and how to test view controllers, notifications, singleton, and gesture recognizers.
- Testing View Controllers - technical article from objc.io around testing table views, table view controllers, data sources, and nib files.
- Testing Concurrent Applications - technical article from objc.io around testing asynchronous code.
Other Resources:
- Testing async code: AGAsynchTestHelper, SenTestingKitAsynch.