You can run iBGP without IGP, but it depends how you are going to establish the sessions.
Normally, you may see BGP deployed in the backbone of SP networks in MPLS/VPN environment or IP environment. For both cases, the common approach is to establish the TCP sessions between the loopbacks. So, in order to provide reachability information for the loopacks you need a routing protocol, which due to scalability and traffic engineering reasons, is normally a link-state one like IS-IS or OSPF.
You may see BGP in Enterprise environment as well. Here you may see sites with just two routers peering with a service provider. Here you could establish, depending the design, an iBGP session with a back-to-back cable or LAN interface. Here, as it is not established between the loopacks, you do not need an IGP. However, you may see in Enterprise environment, in HQ sites, Data Centers ,etc... more complex scenarios that could require to run the iBGP sessions between the loopbacks, or there are more than two routers involved, and therefore a routing protocol or just static routes are needed.
Hope this helps,
Jose.