You have to make this decision up front, before you start on any sort of development. Until you decide what language(s) and platform(s) to utilize, you can't actually do anything but concepting, design and preproduction.
That said, you may want to allow for future ports or expansion to factor in to your decision. If you want to port to multiple desktop platforms (Mac, Windows for example) it may be better to opt to use OpenGL as your rendering back-end (or some other cross-platform abstraction/rendering engine). Otherwise you will generate more work for yourself in the long run. Likewise with language choices -- Objective-C is weakly-supported just about everywhere but on the Mac, so if you're developing for the Mac, you may want to try and minimize your actual use of Objective-C to just the required bootstrapping bits.
However, do consider that there's generally no amount of up-front agonizing over technological choices that will make porting trivial, so your better off simply making a decision and moving on to creating a real product instead of faffing about over hypothetical porting issues that won't exist until you actually have a thing to port.
Also keep in mind that unless you have the target hardware, porting to it will be difficult. If you don't have or never plan to buy a Mac, don't bother including considerations for Mac porting into your plans right now. Similarly, restricting your language choices to things you know really well (unless you're making a smaller project for the purposes of education) is usually a good idea.