• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
Locked
0

i0S7 StatusBar Overlays stage, Adobe Air 3.9 Beta Bug? Is there a Workarround

New Here ,
Sep 17, 2013 Sep 17, 2013

Copy link to clipboard

Copied

Hi

I am using Adobe air 3.9 Beta. It seems that iOS7 give you the the possibility to style the Statusbar. But if you open an adobe air application the statusbar overlays the stage by default. It creates problems with my tabs.

statusbaroverlay_menu.png

I tested the app with an iPod and IPhone, both with iOs7 Both have the Issues. If I compile the app with Adobe air 3.8 the Statusbar will be displayed correct.

statusbar_correct_air3_8.png

But I can't use air 3.8 because I need the new Icons 120x120 76x76 etc.

Other people have the same issue. See screenshots https://github.com/mutualmobile/MMDrawerController/issues/51

I think the solution is in the info.plist. There is an option for the info.plist UIViewControllerBasedStatusBarAppearance. We need this paramter to activate or deactivate the Statusbar overlay.

any Ideas?

TOPICS
Development

Views

23.9K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 11, 2013 Nov 11, 2013

Copy link to clipboard

Copied

By all means I hope Adobe puts a lot of hard work into solving the issues you are having.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Nov 13, 2013 Nov 13, 2013

Copy link to clipboard

Copied

As a quick update, the latest AIR SDK release (AIR 3.9.0.1210) does not fix this bug.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 14, 2013 Nov 14, 2013

Copy link to clipboard

Copied

As a quick update, the latest AIR SDK beta release (AIR 4.0) does not fix this bug.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Nov 27, 2013 Nov 27, 2013

Copy link to clipboard

Copied

The latest 4.0 beta release (available Nov 26, 2013. Don't have the full version number handy) does not fix this issue

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Nov 27, 2013 Nov 27, 2013

Copy link to clipboard

Copied

Honestly I was hoping it wouldn't fix it and many of the other current bugs I've found. Because if it did, that would make me lose complete faith in their bug base, as all the bugs I'm waiting for to be fixed have recieved no updates from adobe whatsoever.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 27, 2013 Nov 27, 2013

Copy link to clipboard

Copied

It seems that fix might possible with use of ANE see Anton Azarov comments on https://bugbase.adobe.com/index.cfm?event=bug&id=3633422 I will keep the thread posted if any progress.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 27, 2013 Nov 27, 2013

Copy link to clipboard

Copied

Speaking of ANE's, has anyone tried the Distriqt ANE? Looks like it will allow you to control this:

http://distriqt.com/native-extensions#application

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 27, 2013 Nov 27, 2013

Copy link to clipboard

Copied

open source solutions would be prefered.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Nov 27, 2013 Nov 27, 2013

Copy link to clipboard

Copied

For some, not for all. I'm running a business, and am happy to spend a small amount of $$$ for a robust solution, rather than a potentially buggy/unmaintained solution for free.

Anyways, just thought I would throw it out there, so maybe someone can test and report back.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Nov 27, 2013 Nov 27, 2013

Copy link to clipboard

Copied

Very true. You get what you pay for, right? Anyway, Distriqt is one of the top AIR developers out there. Their ANEs are, for the most part, the very best available. They're expensive, sure, but they fill in most of the areas that AIR falls flat on. Worth the money in my opinion.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Dec 05, 2013 Dec 05, 2013

Copy link to clipboard

Copied

The Apache team has added support for this in the latest nightlies of 4.12. You can now set osStatusBarHeight on Application.

https://issues.apache.org/jira/browse/FLEX-33860

@media (application-dpi: 160) AND (os-platform:"IOS") AND (min-os-version: 7)

{

    Application {

         osStatusBarHeight: 20;

    }

}

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Dec 05, 2013 Dec 05, 2013

Copy link to clipboard

Copied

Well... guess it turns out its a Flex thing, not an Adobe bug to be fixed in the AIR SDK.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Dec 05, 2013 Dec 05, 2013

Copy link to clipboard

Copied

Still not sure about that. There are still issues with going fullscreen and using ANEs that cause issues. I haven't tested this yet to see if it fixes those, but I'm not sure Flex was the source of those issues.    

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Dec 05, 2013 Dec 05, 2013

Copy link to clipboard

Copied

Turns out to be an iOS7 issue, the bug ticket was withdrawn:

https://bugbase.adobe.com/index.cfm?event=bug&id=3633422

You need to account for the status bar in your own code - native iOS developers are running into the same problem - only native iOS apps using opaque UINavigationController or UITabBarControllersee are unaffected. See this from Apple:


https://developer.apple.com/library/ios/qa/qa1797/_index.html

If you are not able to accomodate the design and need to recreate the status bar from Starling, here is how I'm doing it (for now):

-app.xml:

<systemChrome>standard</systemChrome>

  <transparent>false</transparent>

  <maximizable>false</maximizable>

  <minimizable>false</minimizable>

  <resizable>true</resizable>

  <fullScreen>false</fullScreen>

  <autoOrients>true</autoOrients>

  <aspectRatio>landscape</aspectRatio>

  <renderMode>direct</renderMode>

  <visible>true</visible>

  <softKeyboardBehavior>none</softKeyboardBehavior>

in your Starling Root:

private function resizeStage():void

{

                              var viewPortRectangle:Rectangle = new Rectangle();

                              viewPortRectangle.width = stage.stageWidth;

                              viewPortRectangle.height = stage.stageHeight;

                              var iOSVer:String = Capabilities.os.substr(10,1);

                             switch(iOSVer){

    case "7":

      // iOS7

      viewPortRectangle.height -= ( 20* AppConstants.scaleAssetsRatio );

      viewPortRectangle.y = ( 20* AppConstants.scaleAssetsRatio );

      break;

    default:

      // others...

                              }

                              Starling.current.viewPort = viewPortRectangle;

                              Starling.current.stage.stageWidth = stage.stageWidth;

                              Starling.current.stage.stageHeight = stage.stageHeight;

                              AppConstants.scaleToScreen = Math.min( Starling.current.stage.stageWidth / AppConstants.SAFE_WIDTH, Starling.current.stage.stageHeight / AppConstants.SAFE_HEIGHT );

  AppConstants.remainderWidth = ( stage.stageWidth / AppConstants.scaleToScreen ) - AppConstants.SAFE_WIDTH;

  AppConstants.remainderHeight = ( stage.stageHeight / AppConstants.scaleToScreen ) - AppConstants.SAFE_HEIGHT;

}

Later, if you need to do screen captures, use stagewebview, native text or native stage, you will need to take this new offset into account by adding to the y properties:

Starling.current.viewPort.y / AppConstants.scaleToScreen

Finally set the swif background color to whatever color you need your status bar to be:

[SWF(backgroundColor="#000000")]

Voila, now when user switch app to vertical from camera roll, the app is not stuck to vertical with half the screen cut off.

It's not a perfect solution but in my case it works. Hope it helps others running into the same problem.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Dec 05, 2013 Dec 05, 2013

Copy link to clipboard

Copied

Well the unfortunate issue is that the bug and various discussions like this one, mix different propblems for people who want the status bar accounted for, but also users that have been doing fullscreen apps, and now see the status bar show up only after some UI interaction like CameraRoll is used.

It is unfortunate that Adobe chose to withdrawl that bug without properly addressing and breaking down all the specific cases.

yes there are workarounds for some people, depending upon how they want or dont want the status bar.

The following specific case still seems unresolved:

Where you launch a Stage3D AIR app in fullscreen (successfully not showing any status bar at all on startup).

Then later use CameraRoll (causing not only nasty Context3D lost context) but then the status bar text shows up where it didn't before.

Yes, we have a 'workaround' (NOT a fix) for this by manually resetting fullscreen mode again after CameraRoll use.

(Causing yet a second Context3D lost context). (none of this happens on previous iOS versions, no lost context included)

Manually accounting for a status bar area is not a fix for fullscreen apps. It actually undoes what Apple's true intentions were for this new look. They want your app to use the fullscreen and show its contents behind the status bar if present. Shortening the stage viewPort is a workaround but not even the desired result Apple was intending with this feature change.

When you see comments like "You need to account for the status bar in your own code".

Thats fine, but in this particular case, we started out with no visible status bar, so the "You" in this statement still seems to be Adobe's native code for CameraRoll. 

I guess now we are forced to try and see if there is a way to use some existing ANE code for Image selection for iOS and see if there is a way to possibly keep the Stage3D view from changing size (avoiding a lost context).  If this can be done with an ANE then maybe this will convince Adobe to try and fix this particular use case in their CameraRoll implementation.

Otherwise if this can't be done, then we chalk it up to an unpleasant new sideeffect for iOS7 and Stage3D...

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Dec 05, 2013 Dec 05, 2013

Copy link to clipboard

Copied

Agreed, it's annoying that such a simple bug has been confused and totally missed through all the noise in this thread 😕

I've started a new ticket, describing specifically what is still broken, hopefully this is clear enough for Adobe:

https://bugbase.adobe.com/index.cfm?event=bug&id=3680222

Please vote

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Dec 06, 2013 Dec 06, 2013

Copy link to clipboard

Copied

Hi esDotDev,

This bug happens in the native iOS app as well so is not an AIR bug, we have logged an Apple radar bug for this same issue.

Thanks,

Nimisha

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Dec 05, 2013 Dec 05, 2013

Copy link to clipboard

Copied

No its not just a Flex thing, Stage3D based AIR apps need solutions to this issue too.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Dec 29, 2013 Dec 29, 2013

Copy link to clipboard

Copied

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Feb 21, 2014 Feb 21, 2014

Copy link to clipboard

Copied

The bug seems persistent with AIR 4.0 as well. Though I'm not sure if Adobe could do something with API like CameraRoll etc. (beside waiting for Apple)

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines