- Use their iPhones on a MVNO that, like most MVNOs, is not an official Apple partner.
- Their MVNO uses an access point name or APN, that's different than the one that the mobile network operator their MVNO runs on uses. An APN is the name of a gateway that connects the mobile network to the Internet. If it's wrong, no data.
- The mobile network operator is one like AT&T that has asked Apple to block users from manually editing APNs.
The problem is related to how iOS automatically configures APNs so that you don't have to. The way it's supposed to work is that Apple sends Carrier Profile updates to set APNs on iPhones and iPads running on its partner networks, including AT&T. Unfortunately the profiles also get sent to the partner operator's MVNO customers and that doesn't work if the MVNO uses a different APN than the operator whose network it runs on.
Traditionally MVNOs and their customers have been able to use a custom APN profile file to correct the APN and get data working. The profile is just a text file with a .mobileconfig extension that contains APN information in an Apple defined XML format. APN profiles can be installed by opening a web link or email attachment using WiFI. Most MVNO customers use the site http://unlockit.co.nz/ which has APN profiles for hundreds of operators around the world.
The problem is that Apple introduced a new "Cellular" file structure for APN profiles. Before iOS 9 both the new and the old "APN" file structures worked. But the old structure doesn't work in iOS 9. Apple has acknowledged that this is bug and says that support for the old structure will be restored in a future iOS update.
You don't have to wait for Apple. Reddit user UConduit2 figured out what was going on and created an APN profile config file that works with AT&T MVNOs that use the APN att.mvno. You can grab the updated profile from this Reddit post. If you need a different APN use a text editor with search and replace to change the file's two references to att.mvno to the APN your operator requires. Save the profile with a .mobileconfig extension, send it to yourself as an emaul attachment and open the attachment on your iDevice.
If that sounds like too much work, there's an easier way. H2O Wireless has posted an updated APN profile at: https://www.locusapi.com/pcs/h2o.new2.mobileconfig that uses the Prodata APN that H2O and most other AT&T MVNOs that support LTE use. If that doesn't work, H20 has alternate APN profile at https://www.locusapi.com/pcs/h2o.old2.mobileconfig that uses the att.mvno APM and works for some users where the Prodata APN doesn't.
In addition, unlockit.co.nz says its updated all its APN files to use the new Cellular profile format.
Regardless of whether you use the email or website method the key to making this work is to go to Settings>General>Profiles on your iPhone and deleting any existing profiles before installing the new one.
Update 9/24: Apple has released iOS 9.0.1 which fixes the bug that broke APN profiles created using the older format. It also fixes some security issues as well as bugs related to alarms, video playback and the Setup Assistant.