iOS6+ provides built-in UIActivity
for many services. When you provide data it will automatically populate the list of activities that match the data format (but you can remove the ones you do not want).
You can also create your own UIActivity
to add application-specific activities (e..g for anything not supported by iOS).
Note that this is all iOS6+ but it's not very hard to add a similar feature (with less options) into earlier versions of iOS.
My MonoTouch sample for AirPlay use UIActivityViewController
(on iOS6), as it's own custom UIActivity
type (for AirPlay devices) and also works on earlier iOS releases (e.g. 5.x).