ICEmobile
  1. ICEmobile
  2. MOBI-940

Delay in returning to browser from BridgeIt

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: BridgeIt 1.0
    • Fix Version/s: BridgeIt 1.0.3
    • Component/s: None
    • Labels:
      None
    • Environment:
      iOS

      Description

      BridgeIt may display a "white screen of death" for 10 to 15 seconds even though the device command is apparently completed.

        Activity

        Hide
        Ted Goddard added a comment -

        The following is found in the log.

        Nov 26 10:00:10 BridgeIt[2660] <Warning>: ICEmobile-SX will open http://bridgeit.mobi/demo/geotrack.html#icemobilesx_IXI9R2VvU3B5JiFoPSUyNTI2Yz1oYW5kbGVUcmFjaw~~
        Nov 26 10:00:20 lsd[76] <Warning>: LaunchServices: application launch failed - received error code 11
        Nov 26 10:00:20 BridgeIt[2660] <Warning>: NativeInterface geospy complete

        Similar log entries always show a delay of exactly 10 seconds before "LaunchServices: application launch failed" is displayed. (This is the attempt to launch Safari from BridgeIt.)

        Show
        Ted Goddard added a comment - The following is found in the log. Nov 26 10:00:10 BridgeIt [2660] <Warning>: ICEmobile-SX will open http://bridgeit.mobi/demo/geotrack.html#icemobilesx_IXI9R2VvU3B5JiFoPSUyNTI2Yz1oYW5kbGVUcmFjaw~~ Nov 26 10:00:20 lsd [76] <Warning>: LaunchServices: application launch failed - received error code 11 Nov 26 10:00:20 BridgeIt [2660] <Warning>: NativeInterface geospy complete Similar log entries always show a delay of exactly 10 seconds before "LaunchServices: application launch failed" is displayed. (This is the attempt to launch Safari from BridgeIt.)
        Hide
        Ted Goddard added a comment -

        Adding a simple modal dialog allows BridgeIt to return to the browser nearly immediately, so it may be possible to solve this with a threading change or a UI change.

        Show
        Ted Goddard added a comment - Adding a simple modal dialog allows BridgeIt to return to the browser nearly immediately, so it may be possible to solve this with a threading change or a UI change.
        Hide
        Ted Goddard added a comment -

        The root cause appears to be an attempt to return to the browser multiple times. For instance, the initial geotrack launch is successful and the browser is launched due to the location authorization status changing. In a second invocation of geotrack, authorization may be complete, so an automatic browser return takes place, but then the authorization status change event may occur (with no change in value) resulting in two browser invocations and the "white screen of waiting".

        Show
        Ted Goddard added a comment - The root cause appears to be an attempt to return to the browser multiple times. For instance, the initial geotrack launch is successful and the browser is launched due to the location authorization status changing. In a second invocation of geotrack, authorization may be complete, so an automatic browser return takes place, but then the authorization status change event may occur (with no change in value) resulting in two browser invocations and the "white screen of waiting".
        Hide
        Ted Goddard added a comment -

        Can be fixed in 1.0.2 if the App is resubmitted.

        Show
        Ted Goddard added a comment - Can be fixed in 1.0.2 if the App is resubmitted.
        Hide
        Ted Goddard added a comment -

        This has been found in other scenarios as well, such as returning to the browser from a Cloud Push notification or for "Enabled Cloud Push". It may be a threading issue as was addressed by part of the previous fix

        //instead of [self.controller doCancel]; to address UI hang
        [NSTimer scheduledTimerWithTimeInterval:0.1
        target:self.controller
        selector:@selector(doCancel)
        userInfo:nil
        repeats:NO];

        Show
        Ted Goddard added a comment - This has been found in other scenarios as well, such as returning to the browser from a Cloud Push notification or for "Enabled Cloud Push". It may be a threading issue as was addressed by part of the previous fix //instead of [self.controller doCancel] ; to address UI hang [NSTimer scheduledTimerWithTimeInterval:0.1 target:self.controller selector:@selector(doCancel) userInfo:nil repeats:NO];
        Hide
        Ted Goddard added a comment -

        NSTimer fix applied to BridgeIt.app 1.0.3.

        Show
        Ted Goddard added a comment - NSTimer fix applied to BridgeIt.app 1.0.3.

          People

          • Assignee:
            Ted Goddard
            Reporter:
            Ted Goddard
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: