IOS后台服务(如在Android)启用所有的时间

在IOS上的Andorid服务是什么这将是从后台启动系统工作? 我玩巫婆信标,我想发送通知,当用户在附近的灯塔。 这是可能的IOS?

问候

您可以在后台执行操作,但在Android上不起作用。 iOS会调用一个特定的方法给你更新的机会,那么你有一个有限的时间这样做。

当应用程序返回到背景时(大约10分钟左右),仍然可以请求更多时间。 查看beginBackgroundTaskWithExpirationHandler方法

https://developer.apple.com/library/ios/documentation/uikit/reference/UIApplication_Class/Reference/Reference.html

另一个解决scheme是使用重大的位置更改。 如果用户与您的应用共享他的位置,则可以在他的位置发生变化时获得回叫,并使用这个时间进行刷新。

https://developer.apple.com/library/ios/documentation/CoreLocation/Reference/CLLocationManager_Class/CLLocationManager/CLLocationManager.html

我知道,Dropbox应用程序使用位置解决scheme将您的照片从您的相机胶卷上传到他们的服务。

只有某些应用程序被允许执行此操作。 请参阅https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html#//apple_ref/doc/uid/TP40007072-CH4-SW24了解背景模式的完整说明。

简而言之,在后台任何时候应用程序都可以被暂停,例外情况是请求特定权限的应用程序(如voip应用程序或音乐应用程序)不间断执行,但是如果您请求此类权限,苹果可能会拒绝您的app store提交。你的应用程序实际上不提供任何相关的function。

是。 查看Apple的文档以进行位置监控 。

从文档

在iOS中,跟踪与您的应用程序相关的区域始终被跟踪,包括应用程序未运行时。 如果应用程序未运行时跨越区域边界,则该应用程序将重新启动到后台以处理事件。 同样,如果应用程序在事件发生时被暂停,则会被唤醒并给予短时间(大约10秒)来处理事件。 必要时,应用程序可以使用UIApplication类的beginBackgroundTaskWithExpirationHandler:方法请求更多的后台执行时间。

您可能需要为应用程序添加“位置更新”作为允许的后台模式。 我不确定是否必须启用“使用蓝牙LE配件”或“作为蓝牙LE配件”,或者可能都不是。

为要监视的UUID创build一个信标区域。 再次看到苹果的文档 。

- (void)registerBeaconRegionWithUUID:(NSUUID *)proximityUUID andIdentifier:(NSString*)identifier { // Create the beacon region to be monitored. CLBeaconRegion *beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:proximityUUID identifier:identifier]; // Register the beacon region with the location manager. [self.locManager startMonitoringForRegion:beaconRegion]; } 

处理位置pipe理员的委托方法:

 -(void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region 

处理事件时可能需要触发本地通知。 苹果关于本地通知的文档 。