Copy link to clipboard
Copied
I'm having some issues getting a basic R&D app to run on an iPad. When I use Fast packaging, the app will run fine (possibly slowly), but when I use Standard packaging, I just get a blank white screen that doesn't do anything.
I have reduced it to two different Hello World apps that I can reproduce this with:
1:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.text.TextField;
public final class HelloWorld1 extends Sprite
{
private var m_lbl:TextField = new TextField();
public function HelloWorld1()
{
stage ? init() : addEventListener(Event.ADDED_TO_STAGE, init);
function init(pEvent:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);
addChild(m_lbl);
m_lbl.text = "Hello, World!";
}
}
}
}
2:
package
{
import flash.display.Sprite;
import flash.events.Event;
public final class HelloWorld2 extends Sprite
{
public function HelloWorld2()
{
stage ? init() : addEventListener(Event.ADDED_TO_STAGE, init);
function init(pEvent:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);
graphics.beginFill(0x000000);
graphics.drawRect(0, 0, 320, 240);
graphics.endFill();
}
}
}
}
When I run these apps on the company's iPad using Fast packaging, I get either a simple label or a black rectangle to show up on the screen, depending on which one. But when I run either using Standard packaging - which is supposed to not have any differences at all, aside from speed - the screen just comes up in plain white, and nothing happens.
What would there be to check? Thanks!
UPDATE:
This is in the device's crash logs for the app:
Exception Type: EXC_RESOURCE
Exception Subtype: WAKEUPS
Exception Message: (Limit 150/sec) Observed 468/sec over 300 secs
Apparently the Standard packaging compilation is inserting an exceptionally high number of thread sleep/wakeup calls, causing the thread to crash in iOS.
Copy link to clipboard
Copied
Hi,
I have checked your Project with AIR SDK 18.0 and IOS 8.1 on Flash Builder 4.7. It is working fine at my end.
Could you please share your AIR SDK version?
Is your issue is device specific?
Thanks
Adobe AIR Team
Copy link to clipboard
Copied
Hi, piyushb89979246,
Thanks for the reply. I'm trying to upgrade my SDK, but I'm running into two issues. One of them is that when I got 18.0 from http://www.adobe.com/devnet/air/air-sdk-download.html (the Windows version) and installed it according to the directions at Update the AIR SDK for ActionScript Projects | Flash Builder 4.7, I was no longer able to see my iPad on the list of connected devices when I tried to run a program. When I took the version back down to 3.4, I was able to see the iPad again, but when I put it back on 18.0, I lost it again. Another problem is that, though I've also tried downloading 17.0 or the SDK-only version for 18.0, the company anti-virus or whatever seems pretty sure there is a Trojan attached called "Sality.AT_7" and keeps blocking me.
Do you know what might be happening? Thank you.
Copy link to clipboard
Copied
Hi Howitzer21,
Issue1: Please make Sure that if you are using AIR SDK 18, then you should use latest version of iTunes for Windows i.e 12.1.2 for Windows 64 bit
Issue2: I have downloaded latest SDK 18.0.0.143 on Windows 8.1 from this link Download Adobe AIR SDK for Windows and i am not facing any issue's. We have no such file Sality.AT_7 in Windows AIR SDK. It could be issue with your local system.
Thanks
Piyush
Copy link to clipboard
Copied
Thank you, piyushb89979246.
Unfortunately it's still having issues. (Higher-priority stuff came up for a little while, but I'm back on this project now.) I confirmed the iTunes version to be 12.2.1.16 as of an update today, and I also tried doing a clean reinstallation of Flash Builder 4.7 (replacing the AIR SDK with the one from your link) and upgrading iOS from a lower version of 8.x to 8.4. Flash Builder still can't detect the device unless I use the 3.4 SDK. The desktop OS is Windows 7 64-bit, and the iOS device is an iPad mini 2.
EDIT:
When running this command:
C:\Windows\system32>"C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.7\eclipse\plugins\com.adobe.flash.compiler_4.7.0.349722\AIRSDK\bin\adt.bat" -devices -platform ios
I get this output with 3.4:
List of attached devices:
Handle DeviceClass DeviceUUID DeviceName
someInt iPad someUID someName
But with 18.0 it's:
iTunes MobileDevice library not found.Please ensure iTunes version 12.1.0.71 or greater is installed.
Apparently there's a thread here about it, advising to install a version of iTunes designed for older video cards:
http://forum.starling-framework.org/topic/flashbuilder-ios-device-detection-on-windows
I'm checking it out at the moment and am going to see what happens.
Copy link to clipboard
Copied
That last thing I mentioned, about installing a different version of iTunes, didn't quite work, but it was still the iTunes suite installation that was the last thing keeping it from being pushed across the goal line. Instead of installing a version for older video cards, what worked for me was a (semi-?) clean reinstallation of iTunes as specified in rs1600's last comment in this thread: failed to load library itunesmobiledevice.dll -... | Apple Support Communities After that, I could use Standard Packaging. Fast Packaging is having some sort of issue, but it doesn't seem to make that much of a difference in deployment time for at least one of my projects, so I may not care enough to actually fix it. Thanks for y'all's help in getting this fixed!
Copy link to clipboard
Copied
You can't use Fast packaging because it's incorporated in the latest AIR SDK versions. So I think your SDK is outdated. If not - please specify your device. I have tested code above using AIR sdks from 15.x till latest 18.x on iPhone4 7.1.3 iPad4 and iOS 8.3 and never saw anything similar to your crash.
P.S. Don't affected on your side bug but catches the eyes:
stage ? init() : addEventListener(Event.ADDED_TO_STAGE, init);
function init(pEvent:Event = null):void {
Never and never do like that!
Adobe AIR have always stage available in your Document class so checking if stage is already there - it's too much. Also don't use any methods/functions inside another methods/functions like you done:
public function myFunc(){
function myAnotherFunc..
}
AS3 it's not an JS! A lot of bugs can be skipped if you will use right model of development!