MobileMe';让我们找到我的iPhone?

MobileMe';让我们找到我的iPhone?,iphone,objective-c,Iphone,Objective C,苹果如何远程查询手机的位置?是否有任何API允许应用程序开发人员对SDK执行相同的操作?我的猜测是,它们是私有的、未记录的,可能是不可调用的API 我无法想象在没有用户同意的情况下,让一个外部方/应用程序对一个电话位置进行民意调查会带来巨大的安全隐患。我猜它们是私有的、未记录的,可能是不可调用的api 我无法想象,如果没有用户的同意,外部方/应用程序将要轮询手机位置,会带来巨大的安全隐患。如果启用推送,iOS设备已经与苹果的推送服务器之一保持连接,并且服务器必须在连接结束时知道该设备(确定要传递

苹果如何远程查询手机的位置?是否有任何API允许应用程序开发人员对SDK执行相同的操作?

我的猜测是,它们是私有的、未记录的,可能是不可调用的API


我无法想象在没有用户同意的情况下,让一个外部方/应用程序对一个电话位置进行民意调查会带来巨大的安全隐患。

我猜它们是私有的、未记录的,可能是不可调用的api


我无法想象,如果没有用户的同意,外部方/应用程序将要轮询手机位置,会带来巨大的安全隐患。

如果启用推送,iOS设备已经与苹果的推送服务器之一保持连接,并且服务器必须在连接结束时知道该设备(确定要传递给它的推送通知)。在此基础上构建的最简单方法是让服务器说“告诉我你在哪里!”作为推送通知

该设备还会因为其他原因(应用商店更新、捕获式登录页面检测)攻击苹果的服务器,但在这些情况下,服务器识别该设备的可能性较小

也就是说,您可以在用户同意的情况下执行此操作:

  • 让你的应用成为背景“voip”应用(
    UIBackgroundModesvoip
    我想)
  • 在应用程序启动时,检查您是否可以检索当前位置(我不确定在应用程序处于后台时执行此操作会发生什么情况)
  • 保持与服务器的“voip”连接
  • 当服务器向设备询问其位置时,再次向Core location询问该位置并将其发送到服务器。(我认为您还需要在UIBackgroundModes中使用“位置”,或者您需要保持连接处于活动状态,可能在两个方向都是如此;前者可能更容易。)

您将无法阻止“位置服务”图标出现在状态栏中。通常的多任务警告也适用(如果手机内存不足,您的应用程序可能会被关闭;“voip”会导致您的应用程序稍后重新启动).

如果启用推送功能,iOS设备已经与苹果的推送服务器之一保持连接,并且服务器必须在连接结束时知道该设备(以确定要向其发送的推送通知)。在此基础上构建的最简单方法是让服务器说“告诉我你在哪里!”作为推送通知

该设备还会因为其他原因(应用商店更新、捕获式登录页面检测)攻击苹果的服务器,但在这些情况下,服务器识别该设备的可能性较小

也就是说,您可以在用户同意的情况下执行此操作:

  • 让你的应用成为背景“voip”应用(
    UIBackgroundModesvoip
    我想)
  • 在应用程序启动时,检查您是否可以检索当前位置(我不确定在应用程序处于后台时执行此操作会发生什么情况)
  • 保持与服务器的“voip”连接
  • 当服务器向设备询问其位置时,再次向Core location询问该位置并将其发送到服务器。(我认为您还需要在UIBackgroundModes中使用“位置”,或者您需要保持连接处于活动状态,可能在两个方向都是如此;前者可能更容易。)

您将无法阻止“位置服务”图标出现在状态栏中。通常的多任务警告也适用(如果手机内存不足,您的应用程序可能会被杀死;“voip”会导致您的应用程序稍后重新启动)。

我很确定您是否使用了“voip技巧”应用商店将拒绝您的应用。仅当您的应用实际上是一个VOIP应用时,才允许使用它,而不仅仅是将其用作规避后台处理限制的技术。

我很确定您是否使用了“VOIP技巧”你的应用将被拒绝进入应用商店。只有当你的应用实际上是一个VOIP应用时,才允许使用它,而不仅仅是将它作为一种技术来规避后台处理限制。

+1这是一个非常真实的理由,让你偏执到将这些API保密。+1这是一个非常真实的理由,让你偏执到将这些API保密。@HartleyBrody:如果应用程序先请求用户同意,我看不出有问题。应用程序已经可以指定
UIBackgroundModeslocation
(事实上,它们需要获得后台位置更新)。@HartleyBrody:如果应用程序先请求用户同意,我看不出有问题。应用程序已经可以指定
UIBackgroundModeslocation
(事实上,他们需要获得背景位置更新)。