App to block data usage on iphone

Solution 1:

No, that is not possible: it would mean Apple allows developers access to deactivating data access. I guess you can understand the security problem that would mean: an app could decide on its own you don't have data access anymore.

The only way to do that is to regularly check your data usage in “Settings > General > Usage > Cell network usage” (menu names may not be the exact ones, my iPhone isn't in English, sorry). You can reinitialize these statistics each time your limit is reset.

If your limit is crossed, switch data off in “Settings > Network” (iOS 5 only).

Solution 2:

If you are jailbroken, there are some features around the SBSettings app - you can certainly make it very easy both to see how much data has gone past and switch it with a toggle - it's entirely possible that this could happen automatically...

Solution 3:

you can use "data usage" app it will notify you when you achieve certain amount of data and then if you reach your desired amount, in your ios device go to: settings > Network > cellular data > OFF