This issue might be relevant: https://github.com/tleyden/office-radar/issues/1#issuecomment-48780693
On Mon, Jan 19, 2015 at 1:06 PM, Martin Palatnik <[email protected]> wrote: > Hi, > > In an app I'm working on I'm using Region monitoring and couchbase. When I > enter the region, I need to save some information to the database and that > info needs to be synced to the server ( I have a continuous push > replication running) while running the app in the background. I'm setting > suspended to NO to tell couchbase to perform the saving and syncing in the > background. > > I have an important constraint: When the region is detected I have around > 10 secs to perform that, otherwise I can request more time with > beginBackgroundTaskWithExpirationHandler: > <https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplication_Class/index.html#//apple_ref/occ/instm/UIApplication/beginBackgroundTaskWithExpirationHandler:> > as > mentioned in Apple documentation. > > "In iOS, regions associated with your app are tracked at all times, > including when the app isn’t running. If a region boundary is crossed while > an app isn’t running, that app is relaunched into the background to handle > the event. Similarly, if the app is suspended when the event occurs, it’s > woken up and given a short amount of time (around 10 seconds) to handle the > event. When necessary, an app can request more background execution time > using the beginBackgroundTaskWithExpirationHandler: > <https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplication_Class/index.html#//apple_ref/occ/instm/UIApplication/beginBackgroundTaskWithExpirationHandler:> > method > of the UIApplication > <https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplication_Class/index.html#//apple_ref/occ/cl/UIApplication> > class." > > In 3G conditions I found that the 10 secs are often not enough to perform > the saving and sync to the remote server, so I need to use some extra time > by using beginBackgroundTaskWithExpirationHandler: > <https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplication_Class/index.html#//apple_ref/occ/instm/UIApplication/beginBackgroundTaskWithExpirationHandler:>. > > The problem I'm having is that the synchronization dies anyway after the > 10 secs even if I use beginBackgroundTaskWithExpirationHandler: > <https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplication_Class/index.html#//apple_ref/occ/instm/UIApplication/beginBackgroundTaskWithExpirationHandler:>. > My hint is that the syncing is probably executing in a different thread and > iOS kills it anyway after the 10 secs not taking into account the > backgroundtask. > > Any ideas? > > Thanks, > > Martin > > PS: Thanks for such a great work with couchbase. Below are links to two > apps already in the store and google play that I did using couchbase lite. > > https://itunes.apple.com/en/app/puntatech/id955333100?mt=8 > https://play.google.com/store/apps/details?id=com.nearup.puntatech.android > https://itunes.apple.com/us/app/mvdvalley/id932392599?mt=8 > https://play.google.com/store/apps/details?id=com.nearup.android > > > -- > You received this message because you are subscribed to the Google Groups > "Couchbase Mobile" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/mobile-couchbase/045fc314-6d6e-4d72-a267-f54e748a0eca%40googlegroups.com > <https://groups.google.com/d/msgid/mobile-couchbase/045fc314-6d6e-4d72-a267-f54e748a0eca%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Couchbase Mobile" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/mobile-couchbase/CACSSHCE2G6RmjahOr8eP5iLz4x8x3RMdnE4kANXcMzGejA99NA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
