Ingredients is a free browser for Apple's documentation. It's still under development, but today's beta lets you:
- View iPhone and Mac docs
- Search Mac-related websites
- Filter classes/symbols by various attributes
- Quick Search with sane sorting of results
- use the Filter Bar to quickly jump to methods in a class
Ingredients is also open source and available on GitHub
Ingredients requires an Intel computer running Mac OS X 10.6 or later. Also requires the OS X Developer tools or iPhone SDK.
New in Release Candidate 2:
- Fixed a bug where full method prototype would fail to show up
- Added support for x-ingredients://search/searchquery URLs
- Now opens a new window when clicking the dock icon, if the main window has been closed
- Now shows the whole superclass chain of a class
- Added the [cmd][alt]4 shortcut to focus on the search field
- Fixed a bug where Ingredients would crash on certain UIKit classes
- Now shows class names associated with methods and properties in search results
- Now shows 5x more search results
- Fixed a bug where Ingredients could crash if a new window was opened while indexing
- Now shows availability for classes
- Methods are now visibly marked as deprecated in documentation
New in Release Candidate 1:
- Ingredients is now feature-complete. No more major features will be added until after 1.0. Bugs will still be fixed.
- Rewrote the algorithm for sorting search results.
- Added a fullscreen mode.
- Added support for viewing documentation on bindings.
- You can now press Cmd-Shift-D to switch to the filter search, and ingredients intelligently jumps to methods as you type.
- Fixed a possible crash when indexing.
- Rewrote the tic-tac-toe AI to be less predictable and more difficult.
- Find now works properly with full-screen mode.
- Added support for deprecated methods.
- Implemented "Open Link in New Window".
- Made the window title more descriptive.
- Added links to parent items from methods.
- Added a "Misc items" section to classes containing structs, enums, etc.
- Category names now include the name of the category.
- And more...
New in Beta 5:
- Now has automatic hyperlinking.
- Fixes a crash when searching for "selector".
struct, enum and union definitions are now formatted correctly, instead of all on one line.
- Fixed a colour mismatch when the find-in-document window's parent window is not active.
- Added "Kind is Function" to advanced search.
- Find and Toggle Filter Bar menu items now properly disable when invalid.
- The tic-tac-toe page now displays "Ready!" when indexing has completed.
New in Beta 4:
- Added find in document support.
- Back/forward buttons now disable properly when there's nothing to go back/forward to.
- Window size/position/screen is now remembered between sessions.
- Added a progress indicator that spins while Core Data gets off its lazy ass.
- Fixed a bug where the no selection view would get stuck on the right side of the window.
New in Beta 3:
- Added a filter bar that lets you view and search methods and properties in class documentation.
- Now remembers which docset you had selected between sessions.
New in Beta 2:
- Added support for multiple
/Developer directories.
- Can now enable/disable docsets.
Frequently Asked Questions
Will there be an iPad version?
Maybe. For one, Ingredients needs libtidy and NSXMLDocument, which the iPhone SDK lacks. Secondly there's no docsets installed on the device, so we'd have to ship an index DB with the app and scrape the docs from apple.com, something Apple might not, erm... approve of (it also wouldn't work offline). Thirdly we'd have to ditch Core Data, since it's already slow enough on the Mac. There's also non-trivial memory and CPU requirements to consider.
Will you add tabbed browsing?
Yes! Tabs are scheduled for soon after 1.0.
When I launch it, it just sits there indexing but nothing happens...
This is a known bug, but we haven't been able to reliably reproduce it or even observe it. If you manage to fix it, please let us know ASAP.
Edit 7th August 2010: The people have spoken! Thanks for all your replies. It turns out there's at least two causes of this bug:
A bug in Ingredients meant that a malformed docset could initiate an index, not save any data and not signal that it had finished indexing. This meant that each time Ingredients was launched it would try to index and hang there. This bug has been fixed as of 1.0rc1.
It seems that Xcode doesn't always download docsets. Try going to Xcode's Documentation preferences and downloading missing docsets. We're looking at ways to integrate this into indexing.
Created by @alextgordon and @jeannicolas. Help, bug reports and feature requests at anything@fileability.net.