菜鸟教程小白 发表于 2022-12-12 10:22:07

ios - 在后台将位置发送到服务器 - ios 7


                                            <p><p>当应用程序收到静默推送时,我尝试在后台发送用户位置。</p>

<p>我的代码:</p>

<blockquote>
<p>application:didReceiveRemoteNotification:fetchCompletionHandler:</p>
</blockquote>

<p>看起来像:</p>

<pre><code>UIBackgroundTaskIdentifier bgTask = 0;
bgTask = [beginBackgroundTaskWithExpirationHandler:^{
          bgTask = UIBackgroundTaskInvalid;
    }];
;
[ endBackgroundTask:bgTask];
</code></pre>

<blockquote>
<p>locationManager:didUpdateLocations:</p>
</blockquote>

<p>看起来像:</p>

<pre><code>UIBackgroundTaskIdentifier bgTask = 0;
    bgTask = [beginBackgroundTaskWithExpirationHandler:^{
            bgTask = UIBackgroundTaskInvalid;
      }];
    // here I&#39;m sending the request to server via AFNetworking
    ;

    [ endBackgroundTask:bgTask];
</code></pre>

<p>我试图向自己发送一个无声的推送</p>

<ul>
<li>推送总是到达我的设备</li>
<li>有时请求会立即发送</li>
<li>有时请求已发送,但我在日志中看不到它</li>
<li>有时请求没有发送 - 但当我打开应用程序时,所有未发送的请求 - 都已发送</li>
<li>有时请求根本未发送</li>
</ul>

<p>有什么想法吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>静默推送通知是不可靠的,如果为相同的服务/设备启用了正常推送通知,则不能保证始终在设备上传递。</p>

<p>我的建议是使用
1)苹果显着的位置变化特征。
2)使用区域监控</p>

<p>两者都可以在后台模式下完成。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 在后台将位置发送到服务器 - ios 7,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/24139878/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/24139878/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 在后台将位置发送到服务器 - ios 7