I want provide bonuses to users how have shared link to my iPhone application. How could I implement reference program for app users?
Currently I don't understand how to determine source who provided reference of App Store link to the user.
First of all you do not need to know who has actually referring to the link. As the question is that you only want to give bonuses to people that shares a link, this could be solved in some different ways. If you are actually want to know if the receiver actually clicked on the link, it is much harder. Thus my answer is only for the situation that only sharing is the important thing.
One way to achieve this is to use the MFMailComposeViewController with a pre-defined text that contains a link to your application. When the view is dismissed you can check if the user cancelled or not, you could also check that it worked OK. If this is true, the user has actually sent an e-mail with your link. You do this by implementing MFMailComposeViewControllerDelegate and checking the result.
You could also choose to send an SMS and do a similar test or check. Check out this article that shows how to send SMS programatically.
Another way of solving this is to let your application communicate to a server that you have implemented. The server could either send an e-mail or use an SMS service to send an SMS. The SMS solution would of course cost you some money.