Which external GPS should I buy?

On iOS:

Dual XGPS 160: In my opinion the best option currently. It’s 10 Hz and supports GLONASS satellites.
Qstarz BL-1000GT: This is Qstarz’s first receiver with iOS support. It’s very accurate and runs at 10 Hz. More expensive than XGPS 160 though.
VBOX Sport: Great option if you have more to spend. Runs at 20 Hz. Make sure to get the external antenna.
Garmin GLO / GLO 2: Great accuracy and affordable, but it must be connected through iOS Bluetooth settings, and you’ll get only 3-4 Hz update rate in iOS.

Notice: Popular Bluetooth GPS receivers like Qstarz BT-Q818XT/X and similar will not work on iOS.

On Android:

Garmin GLO: In my opinion the best option currently. You’ll get 7-8 Hz update rate and supports GLONASS satellites with great accuracy.
Notice: New Garmin GLO 2 has been released, but it currently has problem with connecting most Android devices. It seems to work perfectly with Samsungs (I’ve personally tested Galaxy S4, S6 and S9), but cannot connect with other brands. Waiting for Garmin to fix their firmware before I can recommend this for other than Samsung users.
Dual XGPS 160: Not quite as accurate as Garmin GLO, but its 10 Hz and supports GLONASS satellites.
Qstarz BL-1000GT: Works great with Android too. It’s very accurate and runs at 10 Hz. More expensive than Garmin GLO though.
VBOX Sport: Great option if you have more to spend. Runs at 20 Hz. Make sure to get the external antenna.