当应用程序收到静音推送时,我尝试在后台发送用户位置。
我的代码:
应用:didReceiveRemoteNotification:fetchCompletionHandler:
看起来像:
UIBackgroundTaskIdentifier bgTask = 0;
bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
bgTask = UIBackgroundTaskInvalid;
}];
[_cllManager startUpdatingLocation];
[[UIApplication sharedApplication] endBackgroundTask:bgTask];
的LocationManager:didUpdateLocations:
看起来像:
UIBackgroundTaskIdentifier bgTask = 0;
bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
bgTask = UIBackgroundTaskInvalid;
}];
// here I'm sending the request to server via AFNetworking
[_cllManager stopUpdatingLocation];
[[UIApplication sharedApplication] endBackgroundTask:bgTask];
我试图向自己发送无声推送
任何想法?
答案 0 :(得分:2)
无声推送通知不可靠,如果为相同的服务/设备启用了正常推送通知,则无法保证始终无法在设备上传送。
我的建议是使用 1)苹果的重要位置变化特征。 2)使用区域监控
两者都可以在后台模式下完成。