菜鸟教程小白 发表于 2022-12-13 05:31:10

即使应用程序终止,iOS也会更新位置


                                            <p><p>即使应用程序终止,我也会尝试更新用户位置。我向我的 .plist 添加了 map 和后台模式 --> 位置更新,并设置了一个本地通知,该通知将在位置更新时触发。但它从未被解雇。我在 <em>AppDelegat.h</em> 中有这个:</p>

<pre><code>@interface AppDelegate : UIResponder &lt;CLLocationManagerDelegate&gt;{
    CLLocationManager *locationManager;
}
</code></pre>

<p>在<em>AppDelegate.m</em></p>中

<pre><code>- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {

    locationManager = [ init];
    locationManager.delegate = self;
    locationManager.distanceFilter = kCLDistanceFilterNone;
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    ;
    ;
}
</code></pre>

<hr/>

<pre><code>    - (void)locationManager:(CLLocationManager *)manager
    didUpdateLocations:(NSArray *)locations {

UILocalNotification *notification = [init];
notification.repeatInterval = NSDayCalendarUnit;
;
];
];
[ scheduleLocalNotification:notification];
    }
</code></pre>

<p>我在以高速公路驱动器为位置的模拟器上测试了此代码,但它不起作用。</p>

<hr/>

<p><strong>编辑</strong></p>

<p>如果我将代码放在 <code>applicationDidEnterBackground</code> 下,授权请求将在它打开的那一刻关闭,因为我正在使用 <code>didFinishLaunchingWithOptions</code>。我知道它是 24 小时跟踪位置,因为即使应用程序终止,也有 GPS 符号。</p>

<hr/>

<p><strong>编辑 2</strong></p>

<p>在我的手机上测试后,代码可以工作。它唤醒终止的应用程序并发送本地通知。它不适用于模拟器,但适用于现实生活(设备):)</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>看起来您正在使用 CLLocationManagerDelegate 的已弃用函数:</p>

<pre><code>-(void)locationManager:(CLLocationManager *)manager
      didUpdateToLocation:(CLLocation *)newLocation
      fromLocation:(CLLocation *)oldLocation {
}
</code></pre>

<p>相反,您应该实现</p>

<pre><code>- (void)locationManager:(CLLocationManager *)manager
    didUpdateLocations:(NSArray *)locations {
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于即使应用程序终止,iOS也会更新位置,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/28788865/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/28788865/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: 即使应用程序终止,iOS也会更新位置