[Interest] Location when the App is Killed/Terminated/Suspended
Jason H
jhihn at gmx.com
Tue Aug 23 00:46:50 CEST 2016
Oh, as far as I know, you can't unfortunately.
You need your main() to be invoked so you can set the delegate, but the OS will use a non-derived delegate.
I'd love to know how to do this for iOS. In theory, it should be possible.
> Sent: Monday, August 22, 2016 at 6:19 PM
> From: "Manoel Neto" <manoelnetom at gmail.com>
> To: "Jason H" <jhihn at gmx.com>
> Cc: interest at qt-project.org
> Subject: Re: [Interest] Location when the App is Killed/Terminated/Suspended
>
> Hi Jason, thanks for your reply. My problem is not how to build
> AppDelegate (I did this and it is ok when the app is active or in
> background.). The question is: how to call
> didFinishLaunchingWithOptions "when the ap is Killed, suspended or
> terminated." ? Apple says that if an app uses "The significant-change
> location service", iOS will wake it up if there's a location update to
> be delivered, even if the app is terminated. But i cant make it work
> using QT.
>
> Best R,
>
> Manoel
>
> On Mon, Aug 22, 2016 at 6:54 PM, Jason H <jhihn at gmx.com> wrote:
> > @implementation QtAppDelegate
> >
> > +(QtAppDelegate *)sharedQtAppDelegate{
> > static dispatch_once_t pred;
> > static QtAppDelegate *shared = nil;
> > dispatch_once(&pred, ^{
> > shared = [[super alloc] init];
> > });
> > return shared;
> > }
> >
> > ...
> >
> >
> > void QtAppDelegateInitialize()
> > {
> > [[UIApplication sharedApplication] setDelegate:[QtAppDelegate sharedQtAppDelegate]];
> > }
> >
> >
> > // int main() {
> >
> > #if defined(Q_OS_IOS)
> > QtAppDelegateInitialize();
> > #endif
> >
> >
> >> Sent: Monday, August 22, 2016 at 4:47 PM
> >> From: "Manoel Neto" <manoelnetom at gmail.com>
> >> To: interest at qt-project.org
> >> Subject: [Interest] Location when the App is Killed/Terminated/Suspended
> >>
> >> Hi ,
> >> I'm building an APP using QT/QML for IOS / Android and need to use
> >> location when the APP is Killed, suspended or terminated. For IOS i
> >> did an Objective C implementation and used
> >> startMonitoringSignificantLocationChanges method from
> >> CLLocationManager class.
> >>
> >> Briefly, I extended the QIOSApplicationDelegate to have access to the
> >> didFinishLaunchingWithOptions method. There i check the option key "
> >> UIApplicationLaunchOptionsLocationKey" and, if ok, start monitoring
> >> Location using a LocationManager Delegate. The Background App Refresh
> >> is enable for the Location updates to work in the background.
> >>
> >> I folow an example code (in IOS) tha works great even when the app is
> >> Killed, suspended or terminated. The only diference from my QT code
> >> is that in QT i use QIOSApplicationDelegate instead of system delegate
> >> in IOS. But in QT the didFinishLaunchingWithOptions is never called
> >> when the ap is Killed, suspended or terminated.
> >>
> >> - (BOOL)application:(UIApplication *)application
> >> didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
> >> .....
> >> shareModel = [LocationManager sharedManager];
> >> if ([launchOptions objectForKey:UIApplicationLaunchOptionsLocationKey]) {
> >> [shareModel startMonitoringLocation];
> >> }
> >> }
> >>
> >> Any suggestion?
> >>
> >> Best R,
> >> Manoel
> >>
> >>
> >>
> >>
> >> --
> >> Manoel Carvalho Marques Neto
> >> manoelnetom at gmail.com
> >> _______________________________________________
> >> Interest mailing list
> >> Interest at qt-project.org
> >> http://lists.qt-project.org/mailman/listinfo/interest
> >>
>
>
>
> --
> Manoel Carvalho Marques Neto
> manoelnetom at gmail.com
>
More information about the Interest
mailing list