Are there any repositories around for open sourced iPhone and iPad components?
For instance, I have found myself needing to create several new types of table cells to mimic some of Apple's existing functionality (for instance, all the different types of table cells present in the Settings application). I can't imagine I'm alone here.
Where do you go to find open sourced reusable components, or do you just write and hoard your own?
Update: I know there are open source full projects around ( see this question [1]), but rummaging through them and picking and choosing still leads to significant duplication of effort.
Meta: There's a site for that!
There's a new nicely browsable list of iOS controls at http://cocoacontrols.com/.
Ongoing List
Here are some libraries that I've found or been told about (even answered here) since asking this question:
Here are some good iOS open-source libraries/frameworks & projects:
UIImage
s.UITableViewCell
to reveal a back view, like cells in the "Twitter" appNot many people build open-sourced components for iPhone because they would use their time to build up applications and sell them on AppStore. :-) But lots of people are kind enough to give all their efforts for free. As John Fricker suggested, you will get a huge number of iPhone projects by taking: http://code.google.com/search/#q=UIKit
If you want a "Settings Table"-liked component, it's here: http://code.google.com/search/#q=UIPreferencesTable (UIPreferencesTable is one of unofficial APIs in iPhone SDK). First result is worth to read: http://code.google.com/p/iphone-placemaps/
i think all the answers are missing a point here.
Here are the sites from were you can find reusable components
Here is the twitter account where you can find popular reusable components on github about iPhone or iPad 4) https://twitter.com/#!/github_objc
as answered here Is there a gallery of reusable iPhone components on the web? [1]
[1] http://stackoverflow.com/questions/843167/is-there-a-gallery-of-reusable-iphone-components-on-the-web/6891857#6891857I have released three new Open Source projects on github the last month.
CWFoundation - Augmenting the Foundation framework [1]
NSObject
and NSOperationQueue
CWUIKit - Additions to UIKit [2]
UIAlertView
and UIActionSheet
UITableView
but with multiple columnsCWCoreData - Making it easy to work with several managed contexts [3]
NSManagedObjectContext
instancesI have also written a longer blog post on the topic of open source on iOS called The state of iOS Open Source - and what to do about it [4]. The truth is that there is a lot of open source code out there, but most of it is not well packaged for re-use and collaboration.
[1] https://github.com/jayway/CWFoundationcocos2d-iphone [1] is a great 2D game engine with a built-in physics engine.
[1] http://code.google.com/p/cocos2d-iphone/code.google.com has too many to name.
Also WordPress released their iPhone app open source here [1]
[1] http://iphone.wordpress.org/I've been working on a library of re-usable components which can be found at http://github.com/huddletech/HTFramework
Core Plot [1] - a plotting framekwork for iOS and Mac development. It's open source and very flexible.
[1] http://code.google.com/p/core-plot/Cocoa Objects [1] is a repository that lists open source, reusable Objective-C code for Mac OS and iOS.
[1] http://cocoaobjects.comAudioPanel - sliding panel that can play and record sound. Also it can import sound from iPhone/iPad Music Library.
https://github.com/shmidt/AudioPanel/wiki
I don't know of any control-specific repositories, but there are a number of open-source iPhone projects around that can be helpful for mimicking behavior.
Make sure you double-check the component's license.
If it's MIT or Apache then most of the times you're OK, but if it's GPL, you need to either release the source code of the application you're writing or ask the original author for an permission to use the component.
If you're looking for examples of free game source, here's a great one called Tap Blaster HD. Complete game source available for download - http://9magnets.com/freebies.html
An extendable message input toolbar like the native messages app has.
https://github.com/brandonhamilton/inputtoolbar
A few libraries which helped a lot for implementing chat in iOS, hope it helps others too.
socketio-cocoa - https://github.com/fpotter/socketio-cocoa
// using
I just started a collection of open-source self-contained (.h/.m, not external deps) components at https://github.com/andreyvit/SoloComponents-iOS, published three of my own components there initially.
You can find very convient progress HUD in linke below https://github.com/samvermette/SVProgressHUD
I was thinking about this just yesterday, there are so many Open Source projects out there that could be ported to the iphone but they aren't, obviously a most of it is not relevant to the iphone (anything use X for example) :)
I think the community needs something like Macports but for the iphone (iphonePorts??) of course many of the existing open source applications won't be relevant but the libraries can be extremly useful. I am currently looking into porting TTS library to iphone (see my question here [1] )
[1] http://stackoverflow.com/questions/637616/open-source-text-to-speech-libraryTSAlertView drop in replacement for UIAlertView with additional features and customization:
https://github.com/TomSwift/TSAlertView
There is a very gost post on oleb.net about the best ios and mac development related links, with several components and tutorials.
http://oleb.net/blog/2011/05/best-ios-and-mac-development-related-links-april-2011/
And one excelent library that has not been said here yet is ASIHTTPRequest
http://allseeing-i.com/ASIHTTPRequest/
Custom UISwitchView, enables you to add your own colors and label instead of on/off.
https://github.com/alinux/iPhone-custom-switch-UIView
You can also have a look at my random collection of components on GitHub. It's stuff I couldn't find (that's why I coded them) so you might be lucky and find what you need:
https://github.com/doukasd/iOS-Components
NGMoviePlayer
[1]. I had to recreate the .xib
but that's no biggie. It's a great starting point for an
AVPlayer
[2]-based media player.
QuincyKit
[3], it makes iOS crash reporting so much easier.
TBXML
[4] is my XML library of choice. The
SudzC
[5] website uses
TouchXML
[6], which isn't bad either.
ViewsCache
[7] project provides a simple, clean implementation of dequeueReusableViewWithIdentifier
(abstracting UITableViewCell
's reusability to UIView
s). I have had some success implementing a custom grid control with this (similar to
AQGridView
[8], although since I found that I'm using it instead).json-framework
for JSON parsing, but I'd say use
JSONKit
[9] instead. Why?
Performance
[10].I see no mention of JSON parser/generator. What do you think about this one: http://stig.github.com/json-framework/
Also for regular expression support: RegexKitLite [1]
[1] http://regexkit.sourceforge.net/RegexKitLite/
"supported by facts, references and specific expertise"
and that it is unlikely to"solicit debate, arguments, polling or extended discussion."
- Roger Dahl