• 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.7K

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
Sep 17, 2013 Sep 17, 2013

Copy link to clipboard

Copied

Hi Simon,

Which build are you using? 3.9.0.790? If yes then can you please download the AIR SDK & Compiler - with iOS7 Support: 3.9.0.1080 and give it a try as I can't repro this issue in a simple Hello World app with this build?

Also you can wait for the next beta build 3.9.0.880 which is to be released soon and that will be just one build which will have iOS7 support too.

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
LEGEND ,
Sep 17, 2013 Sep 17, 2013

Copy link to clipboard

Copied

My variation of the problem shows different results in 790 and 1080. Here's what I'm doing, and what's different:

When I ask the user to pick a photo from their album, the status bar appears (my app is full screen, and no status bar is showing at first).

With build 790, the status bar is opaque, black background, and it sits on top of the title banner of the picker (the word "PHOTOS" gets obscured). When I return to the app, the status bar remains there, and is sitting on top of my stage content. The picker is iOS 6 styled.

With build 1080 the behavior is identical to the above, except that the status bar is transparent, and the picker is iOS 7 styled. The status bar does not obscure the "Photos" word, that is further down the screen. On returning to the app I see the black text of the status bar sat transparent on top of the top part of my stage content.

If I build for 3.8.0.910, the behavior is the same as it is for 3.9.0.790.

This is with the GM version of iOS 7.

Overall, I think I'll build for 1080, and hope the client doens't notice the remnants of the status bar. Hopefully you will have added the new icons to the next iOS 7 AIR build, and found a way to hide the status bar after showing the picker.

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 ,
Sep 19, 2013 Sep 19, 2013

Copy link to clipboard

Copied

More users commenting on this as a bug:

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

Some seem to want the status bars to appear differently, but many like me and maybe Colin above, want fullscreen apps (like Stage3D based ones) to never show the status bar.

Now in iOS 7, when you use Camera Roll as an example, status bars appear and then won't go away (doesn't happen in earlier iOS versions for fullscreen AIR iOS apps).

The workaround by reseting displayState to fullscreen works, but the nasty side effect for any Stage3D based apps is that Context3D is lost each time, which is ugly.

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 ,
Sep 19, 2013 Sep 19, 2013

Copy link to clipboard

Copied

Yes this bug is also happening to my app and obscuring my settings button which is embedded in my top bar.

If the app is fullscreen there should be no status bar at all, but opening the CameraRoll, and choosing a Photo, creates one permanently within the app.

Luckily my apps use GPU render mode, so the workaround is ok.

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
LEGEND ,
Sep 19, 2013 Sep 19, 2013

Copy link to clipboard

Copied

I’m not using Stage3D, so the fullscreen work around solve the problem for me.

When I first used the code in that article, displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE, I was getting some jerkiness, though that went away later. Still, I chose to use StageDisplayState.FULL_SCREEN instead, because we’re not using keyboards.

So, the lines needed are these:

import flash.display.StageDisplayState;

stage.displayState = StageDisplayState.FULL_SCREEN;

I do that line right after the photo album goes away.

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 ,
Sep 19, 2013 Sep 19, 2013

Copy link to clipboard

Copied

@Colin

Some might still have to use FULL_SCREEN_INTERACTIVE and not just FULL_SCREEN.

In my app I use StageText, and if I only bring the app back with FULL_SCREEN, then StageText won't trigger the softkeyboard to come back when it tries to take focus.

So even on iOS, the _INTERACTIVE mode might be needed for certain softkeyboard interaction (at least from my tests)

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
LEGEND ,
Sep 19, 2013 Sep 19, 2013

Copy link to clipboard

Copied

Good to know. I mainly went with the non-interactive version because of the stuttering I had seen, and because my app seems happy to work in that mode.

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 ,
Sep 17, 2013 Sep 17, 2013

Copy link to clipboard

Copied

@Nimisha I have to say that I am using Apache FLEX 4.10

I use this SDK:

AIR 3.9 SDK for Flex Developers

I cant find the build number. If this file (/Library/Frameworks/Adobe AIR.framework/Versions/1.0/Resources/Info.plist)  is the correct file than my

CFBundleVersion  is 3.7.0.1860

the last build from this Link

http://labsdownload.adobe.com/pub/labs/flashruntimes/air/air3-9_sdk_sa_mac.tbz2

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
Sep 20, 2013 Sep 20, 2013

Copy link to clipboard

Copied

Hi Simon,

Thanks for reporting the bug, can you please attach a sample app in the bug(which includes swf, app-xml, sources and assets if any) with which the bug can be reproduced at our end also?

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
Explorer ,
Sep 20, 2013 Sep 20, 2013

Copy link to clipboard

Copied

This is literally all you need to do:

1. Set the app to <display>fullscreen</display>

2. Observe as there's no status bar

3. Run code:

var camera:CameraRoll = new CameraRoll();

camera.browseForImage();

4. Cancel Image browser, and observe as status bar is now stuck on app.

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
LEGEND ,
Sep 20, 2013 Sep 20, 2013

Copy link to clipboard

Copied

The problem is much simpler than you’re thinking, it doesn’t take a whole app to show the problem. You don’t even have to save the FLA.

In a new iOS FLA, put this into the frame 1 script:

import flash.media.CameraRoll;

var c:CameraRoll = new CameraRoll();

c.browseForImage();

In the iOS settings select Full Screen. Do a test movie to a connected iOS 7 device on USB. When you open the app you’ll see full screen stage color, followed by the camera roll browser, and the status bar now showing. Touch Cancel, and you’re back in Flash, but the status bar remains.

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
Sep 22, 2013 Sep 22, 2013

Copy link to clipboard

Copied

Thanks Colin and Shawn.

We are able to repro the problem at our end and we are investigating the issue.

-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
New Here ,
Sep 23, 2013 Sep 23, 2013

Copy link to clipboard

Copied

Nimisha1,

since you're investigaing on this, you should also consider to add the parameter required to change the StatusBar's text color in the app descriptor file. With the current 3.9 build, the text color is always black, but some apps require it to be white.

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
Sep 23, 2013 Sep 23, 2013

Copy link to clipboard

Copied

Hi,

Can you please log a feature request for the same @bugbase.adobe.com?

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
LEGEND ,
Sep 25, 2013 Sep 25, 2013

Copy link to clipboard

Copied

In iOS 7 the status bar text is the same color as the phone. So, for my white iPhone 5 I get white text.

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 ,
Sep 25, 2013 Sep 25, 2013

Copy link to clipboard

Copied

I can't confirm that. Both my iPads are actually white and the status bar's text color depends in the app that is currently open. For instance, apps with a white(ish) UI like most of the native apps will change the color to black.

And this is exactly what we need as well. Our AIR app has a dark UI and therefore would need a white status bar, it defaults to black, though, hence is unreadable.

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 ,
Sep 25, 2013 Sep 25, 2013

Copy link to clipboard

Copied

@5898845

Have you tried adding the following key/value pairs into your application descriptor XML in the <iPhone> InfoAdditions CDATA:

<key>UIViewControllerBasedStatusBarAppearance</key>

<false/>

<key>UIStatusBarStyle</key> 

<string>UIStatusBarStyleLightContent</string>

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 ,
Sep 25, 2013 Sep 25, 2013

Copy link to clipboard

Copied

Thank you so much Jeff!

I didn't know (obviously) about the "UIStatusBarStyleLightContent".

Naturally, that works a charme.

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 ,
Sep 25, 2013 Sep 25, 2013

Copy link to clipboard

Copied

Good to hear it works for you. Though I think it still might be useful to control this programmatically through AIR.

This Info.plist technique forces a single setting for the entire app, and while that can work for some apps, iOS 7 with the new UIViewControllerBasedStatusBarAppearance defaulting to true, allows individual Views/ViewControllers to set their own styles on a per view basis, as some apps might have both dark and light screens at different stages, as a single global app setting won't handle all potential needs.

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 22, 2013 Nov 22, 2013

Copy link to clipboard

Copied

For the life of me I can't get the status bar text white. I have the descriptor XML file like this:

<iPhone>

        <InfoAdditions>

      <![CDATA[<key>UIDeviceFamily</key><array><string>1</string><string>2</string></array>

   <key>UIViewControllerBasedStatusBarAppearance</key><true/>

   <key>UIStatusBarStyle</key>

   <string>UIStatusBarStyleLightContent</string>

   <key>UIPrerenderedIcon</key><true/>]]>

    </InfoAdditions>

        <requestedDisplayResolution>high</requestedDisplayResolution>

    </iPhone>

please let me know if im missing something,

Adam

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 22, 2013 Nov 22, 2013

Copy link to clipboard

Copied

Use

                              <key>UIViewControllerBasedStatusBarAppearance</key>

                              <false/>

                              <key>UIStatusBarStyle</key>

                              <string>UIStatusBarStyleLightContent</string>

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 22, 2013 Nov 22, 2013

Copy link to clipboard

Copied

thanks for the reply. I've tried the UIViewControllerBasedStatusBarAppearance to false also but no luck

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 24, 2013 Nov 24, 2013

Copy link to clipboard

Copied

Ok I've read else where in forums that a lot of people are having this issue of not getting a white texted status bar because  UIStatusBarStyleLightContent is being ignored. If that's so I would like to know how the original poster on this thread posted pics with it being white.

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 25, 2013 Nov 25, 2013

Copy link to clipboard

Copied

not sure if this will help... but Im using the white text bar and I do NOT have the line for UIVIewControllerBasedStatusBarAppearance.

The only thing I did was add this (direct copy/paste from my -app.xml)

<InfoAdditions><![CDATA[

    <key>UIDeviceFamily</key>

        <array>

            <string>1</string>

            <string>2</string>

        </array>

    <key>UIStatusBarStyle</key>

    <string>UIStatusBarStyleLightContent</string>

]]></InfoAdditions>

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