Skip to main content
Mr. Baker the Shoe Maker
Inspiring
August 7, 2016
Question

App is a Blank Screen on iOS devices (AIR 22.0.0.153). What is going on?

  • August 7, 2016
  • 1 reply
  • 923 views

When I install my app (for testing) on my iOS device I get a blank, white screen. This happens on the following devices:

1) iPhone 6 plus S - iOS 9.3.3

2) iPad Pro - iOS 9.3.3

3) iPhone 4 - iOS 7.1.2

Here is my app profile

  • I'm using Adobe Air 22.0.0.153
  • I'm using Animate to compile my app
  • Flash Develop for my code.
  • I'm also using Starling 2.0.1.
  • Windows 10

Has anyone had this problem or know how to fix it?

Here is the xml:

Here is the xml file:
<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<!--
Usage:

To localize the description, use the following format for the description element.
<description>
<text xml:lang="en">English App description goes here</text>
<text xml:lang="fr">French App description goes here</text>
<text xml:lang="ja">Japanese App description goes here</text>
</description>

To localize the name, use the following format for the name element.
<name>
<text xml:lang="en">English App name goes here</text>
<text xml:lang="fr">French App name goes here</text>
<text xml:lang="ja">Japanese App name goes here</text>
</name>
-->
<application xmlns="http://ns.adobe.com/air/application/22.0">
  <id>com.btb.test</id>
  <versionNumber>1.0</versionNumber>
  <filename>bTbTest</filename>
  <description/>
  <name>bTbTest</name>
  <copyright/>
  <initialWindow>
  <content>btb.swf</content>
  <systemChrome>standard</systemChrome>
  <transparent>false</transparent>
  <visible>true</visible>
  <fullScreen>true</fullScreen>
  <aspectRatio>landscape</aspectRatio>
  <renderMode>direct</renderMode>
  <autoOrients>true</autoOrients></initialWindow>
  <icon>
  <image29x29>icons/29.png</image29x29>
  <image57x57>icons/57.png</image57x57>
  <image114x114>icons/114.png</image114x114>
  <image512x512>icons/512.png</image512x512>
  <image48x48>icons/48.png</image48x48>
  <image72x72>icons/72.png</image72x72>
  <image50x50>icons/50.png</image50x50>
  <image58x58>icons/58.png</image58x58>
  <image100x100>icons/100.png</image100x100>
  <image144x144>icons/144.png</image144x144>
  <image1024x1024>icons/1024.png</image1024x1024>
  <image76x76>icons/76.png</image76x76>
  <image80x80>icons/80.png</image80x80>
  <image120x120>icons/120.png</image120x120>
  <image152x152>icons/152.png</image152x152>
  <image40x40>icons/40.png</image40x40>
  <image180x180>icons/180.png</image180x180>
  <image60x60>icons/60.png</image60x60>
  <image75x75>icons/75.png</image75x75>
  <image87x87>icons/87.png</image87x87>
  <image167x167>icons/167.png</image167x167>
  </icon>
  <customUpdateUI>false</customUpdateUI>
  <allowBrowserInvocation>false</allowBrowserInvocation>
  <supportedLanguages>en</supportedLanguages>
  <iPhone>
  <InfoAdditions><![CDATA[
  <key>UIDeviceFamily</key>
  <array>
  <string>1</string>
  <string>2</string>
  </array>
]]></InfoAdditions>
  <requestedDisplayResolution>high</requestedDisplayResolution>
  </iPhone>
</application>

Here is the start-up code:

package

{

import flash.display.Sprite;

import flash.display.StageAlign;

import flash.display.StageScaleMode;

import flash.events.Event;

import flash.geom.Rectangle;


import starling.core.Starling;

//import com.demonsters.debugger.MonsterDebugger;



[SWF (frameRate = "60" , backgroundColor = "#FFFFFF")]



public class Start extends Sprite

{

private var starling:Starling;


public function Start()

{


//Set up Monster Debugger *** take this out for testing and final versions.

//MonsterDebugger.initialize(this);



//Setting up the stage so there is no scale and alignment is on top left.

stage.scaleMode = StageScaleMode.NO_SCALE;

stage.align = StageAlign.TOP_LEFT;


loaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);


}


protected function onLoadComplete(event:Event):void

{


//Setting up Starling

//What to do with lost context?


starling = new Starling(Splash, stage);

starling.start();

starling.showStats = true; //take this out for final product.

starling.showStatsAt("left", "top", 2);


stage.addEventListener(Event.RESIZE, onStageResize);

stage.addEventListener(Event.DEACTIVATE, onStageDeactivate);


}


//Sets the Flash stage equal to the Starling view port.

private function onStageResize(e:Event):void

{

starling.stage.stageWidth = stage.stageWidth;

starling.stage.stageHeight = stage.stageHeight;


const viewPort:Rectangle = starling.viewPort;

viewPort.width = stage.stageWidth;

viewPort.height = stage.stageHeight;


starling.viewPort = viewPort;


}


// When deactivated starling stops.

private function onStageDeactivate(e:Event):void

{


starling.stop();

stage.addEventListener(Event.ACTIVATE, onStageActivate)


}


// When reactivated starling starts up again and removes the event listener.

private function onStageActivate(e:Event):void

{

stage.removeEventListener(Event.ACTIVATE, onStageActivate);

starling.start();

}

//************************ END OF CLASS *****************************

}

//************************ END OF PACKAGE *****************************

}
This topic has been closed for replies.

1 reply

natural_criticB837
Legend
August 9, 2016

Hi, without having a look at your code, I would give the hint to find out if this is a package problem or a code problem. Remove all your code from the main and just draw a small red square and see if it shows up on the screen. If it does, then there is a problem in your code, if not, there is a problem in your application.xml

//inside the Main constructor:

graphics.beginFill(0xFF0000);

graphics.drawRect(0, 0, 50, 50);

graphics.endFill();

Mr. Baker the Shoe Maker
Inspiring
August 26, 2016

I fixed it by moving everything into the Flash Develop. I compiled everything there and it worked.