关闭应用程序时,将Firebase侦听器保留在内存中

时间:2017-07-27 13:50:37

标签: ios objective-c firebase firebase-realtime-database firebase-notifications

我可以在应用关闭时运行firebase监听器,这样我就可以在不使用后端的情况下发送本地通知来发送通知 我也可以自动从firebase推送通知取决于数据库中firebase的更改 我在后面运行它,所以我可以推

- (void)applicationDidEnterBackground:(UIApplication *)application {

    FIRDatabaseReference  *ref = [[FIRDatabase database]reference];
    [[[ref child:@"classes"]child:@"classA"]observeEventType:FIRDataEventTypeChildChanged withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {
        FIRDataSnapshot *child;
        UILocalNotification *localNotif = [[UILocalNotification alloc] init];
        if (localNotif == nil) return;
        NSDate *fireTime = [[NSDate date] addTimeInterval:3];
        localNotif.fireDate = fireTime;
        localNotif.alertBody = @"Alert! from back ground";
        [[UIApplication sharedApplication] scheduleLocalNotification:localNotif];

    }];
}

1 个答案:

答案 0 :(得分:1)

据我所知,Firebase使用TCP连接来通知正在观察数据库路径的设备。因此,Firebase无法在后台运行,因为Apple不允许在后台使用TCP连接。

很遗憾,你要做的事情不起作用。