Getting a licence is not difficult, it just takes a bit of effort and a lot of waiting.
First thing is to get your competency certification from an accredited training provider. You need to do one on knowledge of the firearms control act and then one or more for handgun, shotgun, bolt action rifle and/or self loading rifle (semi-automatic). I would recommend getting all/as many as you can afford at once, even if you don't plan on getting a firearm of that type now. Competency certification never expires. Once the bug bites you, you will want more
Then you need to decide on what you want and go and buy the firearm. When you apply for a licence you need to provide the serial number of the firearm as part of the application. The gunshop will keep it for you until you get the licence. A good idea is to buy it from a shop with an on-site range. That way you can go shoot it while you wait for your licence as you own it, you just cant take it home yet.
Then you need to apply for your competency with SAPS for the type of firearm using the certificate you obtained above. SAPS will issue you with competency that is valid for a specific time period based on the firearm you own.
Then you need to apply for the firearm licence for the category you requires. These include self defense, occasional hunting/sport shooting and dedicated hunting/sport shooting. You need to provide a good motivation as to why you need the firearm. The dedicated licences have additional requirements so I wont go into that now.
Licences are valid as follow: 5 year for self defense, and 10 years for the two hunting/sport types. Your SAPS competency also remain valid for the duration of your firearm licence.
You can submit your applications for your SAPS competency and firearm licence at the same time. The waiting periods vary greatly though, sometimes taking up to 6 months from application till you get your licence card.
Go talk to your local gunshop to explain the process a bit more and assist you when it comes to buying and licencing. You can also PM me if you have questions.