如何指定iOS应用程序要在其中运行的区域

如何指定iOS应用程序要在其中运行的区域,ios,xcode,clregion,Ios,Xcode,Clregion,我目前有一个报告道路危险的应用程序,并向相关地方当局发送电子邮件。是否有任何方法可以使用Xcode中的region manager函数指定应用程序将在其中运行的矩形,但如果用户在该区域之外访问该矩形,则应用程序将不会发送电子邮件。有几种方法: 检测用户的位置,要求用户允许并打开位置服务。可能会消耗大量电池,因为您必须在后台更新用户的位置 检测用户的数据IP并交叉检查IP国家/地区数据库。这不能在后台完成,因为苹果不允许这样做(苹果只允许位置和音乐的后台任务)。因此,用户的位置只能在用户打开应用程

我目前有一个报告道路危险的应用程序,并向相关地方当局发送电子邮件。是否有任何方法可以使用Xcode中的region manager函数指定应用程序将在其中运行的矩形,但如果用户在该区域之外访问该矩形,则应用程序将不会发送电子邮件。

有几种方法:

  • 检测用户的位置,要求用户允许并打开位置服务。可能会消耗大量电池,因为您必须在后台更新用户的位置

  • 检测用户的数据IP并交叉检查IP国家/地区数据库。这不能在后台完成,因为苹果不允许这样做(苹果只允许位置和音乐的后台任务)。因此,用户的位置只能在用户打开应用程序时更新


  • 正如你所说,我已经通过定位服务获得了用户的位置。那么,我可以检查该位置是否在我指定的矩形内吗?如果可以获得经度和纬度,则可以检查其位置是否在经度+/-某个阈值内(取决于“矩形”的大小)。矩形比圆形更容易实现。太棒了!你知道有一个教程是如何设置一个矩形的吗?这是我的第一个应用程序,我发现第一次学习教程更容易。只需使用
    if
    案例检查矩形边界和用户位置之间的经纬度差,其中矩形边界可以通过以下方式获得:
    国家中心经纬度+/-threshold