Hi, first of all your project have a few big bags:
* I have here one "OBD-II scanner" and this reader have only an USB port to get the data then u can't interface it with the Arduino, to solve this have 2 options:
A) Use the previous version of the OBD-II scanner the one have an RS232 interface the one is much more easy to interface with an microcontroller.
B) Use other bigger microcontroller with USB host interface like PIC24FJ64GB004, but I don't recommend this option because you go to use the half of the microcontroller only to make the USB connection.
* The Arduino is obsolete and too slow to can establish the TCP/IP connection with a good speed, I recommend use other better microcontroller maybe an PIC18F46J50, is more cheaper faster and robust.
* The GPS and the GPRS chip are obsolete, I recommend use an SIM908, have the GPS+GPRS all in one, is more cheaper and the GPRS connection is more faster.
* You can't make an I-phone application how connect direct to the GPRS device, the best way so solve this is use a server application ruing in a windows server in internet.
For this price I will give you:
* 1 Microcontroller firmware
* PCB dessigne
* Schematics
* 1 window program to connect the device via USB to an windows computer to make the 1 time configuration (APN, IP, port, etc.)
* 1 windows server application how go to get all the GPRS connections (via TCP/IP) and I-phone connections and share the information.
* 1 windows server HTTP system optimize for i-phone