gpt4 book ai didi

ios - IONIC2 - 即使使用后台地理定位,应用也会在一段时间后被杀死

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:54:21 24 4
gpt4 key购买 nike

我有一个 IONIC2 应用程序,它需要每天早上 8 点醒来 20 分钟,以根据用户的地理位置发送用户提醒。

我正在使用这个插件(它使用 IOS significant changes API 来监控用户位置的变化) https://github.com/mauron85/cordova-plugin-background-geolocation

问题:当我关闭应用程序时,该应用程序不会被杀死,并且后台地理定位对我来说可以正常工作一段时间。我测试了一个小时。但是当我第二天早上醒来的时候,我发现这个应用程序被IOS杀死了。

我知道还有另一个插件可以让应用程序在后台运行 https://github.com/katzer/cordova-plugin-background-mode , 但我已经读到很多人的提示,说它会导致你的应用程序被 AppStore 拒绝(事实上,该插件也有同样效果的免责声明)。

为了明天唤醒应用程序,我简单地设置了一个 setTimeout

setTimeout(function(){
console.log('waking up');
self.helper.scheduleLocalNotification('Hello World', 'Good Morning', 10, "");
self.ionViewDidEnter();
}, wakeupinMilliSeconds);

这是我的地理位置代码:

setupBackGroundGeolocation(){
let config = {
desiredAccuracy: 100,
stationaryRadius: 50,
distanceFilter: 100,
interval: 5000,
pauseLocationUpdates: false,
debug: false, // enable this hear sounds for background-geolocation life-cycle.
stopOnTerminate: false, // enable this to clear background location settings when the app terminates
};

BackgroundGeolocation.configure((location) => {
console.log('[js] BackgroundGeolocation callback: ' + location.latitude + ',' + location.longitude);
this.currentLocation.lat = location.latitude;
this.currentLocation.lng = location.longitude;

Promise.all([
//I do some calculations here.
]).then(d => {
// IMPORTANT: You must execute the finish method here to inform the native plugin that you're finished,
// and the background-task may be completed. You must do this regardless if your HTTP request is successful or not.
// IF YOU DON'T, ios will CRASH YOUR APP for spending too much time in the background.
BackgroundGeolocation.finish(); // FOR IOS ONLY
});
}, (error) => {
console.log('BackgroundGeolocation error');
}, config);

// Turn ON the background-geolocation system. The user will be tracked whenever they suspend the app.
BackgroundGeolocation.start();
}

最佳答案

我不使用这个插件,但有相同的症状。我不知道出了什么问题:没有错误消息,没有任何线索,但应用程序在几个小时后一直关闭。

我猜在安装和卸载这么多 cordova 插件后出现了问题。现在该应用程序更加稳定。我删除并添加了平台。这似乎可以完成工作。

关于ios - IONIC2 - 即使使用后台地理定位,应用也会在一段时间后被杀死,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41722579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com