+2  A: 

What you generally use in these cases is called the Facade Pattern. In your case, you'd build a wrapper for the functions of the game center you use in your app, and then two implementations -- one which probably does little more than proxy calls to the game center and another which returns canned answers as required.

I will note that I've never done any iOS/objective C programming so I have no idea how one would actually implement this properly in that environment.

Wyatt Barnett
You would implement it exactly as you describe :) more specifically, have a wrapper class/object that all gamecenter calls go through. The class checks if the APIs are actually available, and responds appropriately, and the rest of the app can be agnostic to Game Center detection. If the gamecenter API later changes, only need to change it in one place in the app.
Jaanus
That sounds like a very elegant solution, thank you!
BeachRunnerJoe