I think that you are asking more about class design and how you structure your APIs rather than how you get the definitions included into your other .m files.
If that is the case, there are roughly three options:
- Add something to your app delegate - this is a good place to store system wide functions that contro lthe overall model or the app itself.
- create a signleton class to hold your methods. Either an actual singleton or a class with just class methods (i.e. declared with a leading
+
rather than a -
)
- by adding a category onto a system class.
I think that in general you do not want to make a single decision for all your utility methods - you should take each method (or grouop of methods) on a case by case basis and do the right thing. For example if you have a method that displays your own style of error dialog, you could put this on the AppDelegate. If you have a method to translate a string into French you could add that as an NSString category.
In general, categories are your friend here - they can be encapsulated in a single .h and .m so that they are easy to move around projects and yet their accessibility follows the target classes.
Failing that you should look at implementing a singleton. See Matt Gallager's discussion on how to do that.
Finally, if it really is the right decision, extend your AppDelegate - possibly with a category ;-)