There are several things you need:
- A Mac computer.
- Apple Developer Account.
- xCode installed on your Mac computer.
- Some money (as little as $300 can do).
A Mac Computer
When begining iPhone development with intention of publishing it in Apple's App Store, you must use a mac for all file transfer between you and Apple, including the actual coded app file (a file in *.ipa format). In many cases for mobile game development you can use a PC but for iOS game development you must use an Apple computer. If you have one then you are in luck. If you know someone who can let you use it, this is ok, however, the frequency you might need to use a mac could put the person off from letting you use the computer. Mac computers do cost some money, however you can consider the Mac Mini that starts at $499, and it would last you some good time. Apple products are quality and built to last! Since you are planning on developing for a while, this is a good investment in my opinion. If you come from a Windows PC, there will be a learning curve of the Mac operating system. I switched to a Mac just before I started development. To be honest, I was a bit overwhelmed with operating the system. Apple acknowledged that and when you purchase a Mac, you have access to good tutorials that will definitely make the transition a smoother process. After all, it is in Apple's best interest to help you migrate over from a Windows operating system.
Here is one video that gives you the basics of what you need to know when switching to a mac computer.
Apple Developer Account
In order to distribute your iPhone game and sell it you must have a developer account with Apple named 'Apple Developer Program'. It costs $99 annually, and gives you access to Apple's 'portal' to manage all that you need for distributing your game. You can get an idea how this portal access page looks like here. You'll have access to the actual portal after you enroll in their program here.
Below is an introduction video on Apple Developer Program.
After you enroll in Apple's Developer Program, you will have access to download a software called Xcode. Aside from setting many things in your game that you will be able to do on your own (and thus save additional developer costs) you use it to upload the finished code (that the developer will provide) to Apple for distribution.
Here is a video explaining how to get Xcode and install it.
Money... Money... Money...
We all look for ways to make money without spending any. However, it is true what they say that you must spend some to make some, at least in most cases. Mobile game development is no exception. You can create an app and have it ready for sale for as little as $200-$300. The part to consider is that the quality of this app may NOT be the best and the developer you might find at that price may not be an excellent one, but this is what you get for the money, and it does NOT mean you won't end up with a good selling product. I've seen apps that look very simple, executed well, and sell nicely. If you do not have the starting money, you can always create a project to raise funds on sites like Indiegogo. For your first game I suggest to start with a very simple concept that will be very easy to create from development stand point and thus would not be a very expensive game to make. Check this game PapiJump in the App Store (free to download if you own an iPhone). This game has simple graphics, but simplicity of the game is the attractive factor. Another simple game executed very well is SpikeDislike. It is a bit more complicated than PapiJump to develop since it has more features incorporated. SpikeDislike would probably be somewhat expensive to develop since it HAS quite few features implemented. Remember this - the more features you add to a game, the more money you spend on developing. If you plan on implementing a lot of features - my tip would be to develop a basic version of the game (with minimal number of features). If the game sells well, it would be an assuring sign that adding features at this point would be a good option.
Now it is your turn to start and develop your dream game. Stay motivated (check my post here). The first time is always the hardest, but practice gives better results.
Hope you found this info useful.