Detect current device Country

Hi,

I have a big problem to find an effective solution to detect the country where the device is located.
First of all I wanted to use the MCC, MNC from CoreTelephony (CTCarrier) and then it turned out that I cannot rely on this information since the framerwork only provides the information from the Sim Card. So there will be a problem in the case of roaming.
The second solution is to use the CoreLocation framework which is not efficient since there are applications like iMyFone AnyTo which can break my whole algorithm.

Can you help me resolve this situation?
Note that I wanted to publish my application so using private APIs is not an option
Detect current device Country
 
 
Q