Feathers UI 2.3.0 Update

Congratulations to Josh Tynjala and the Feathers open source project for the release of Feathers UI 2.3.0!  Feathers offers a large collection of ActionScript user interface components and layouts for mobile and desktop.  Feathers is powered by both the Starling Framework and Adobe AIR.

feathers date time spinner

What’s new in this release?

In version 2.3.0, Feathers UI includes a new DateTimeSpinner component and a number of powerful new features that have long been requested by the community.

The DateTimeSpinner component is a mobile-style date and time picker built with a series of SpinnerList components.

List and GroupedList now support the ability to display more than one type of item renderer in the same list. It’s now easy to style the first or last item renderer differently or to choose the type of item renderer based on the values of an item’s properties.

TextureCache makes it possible to reuse textures loaded from URLs, instead of potentially recreating them multiple times. It’s perfect for lists that need to display many images. TextureCache can save bandwidth, but watch out because it can require more memory.

TapToTrigger, TapToSelect, and LongPress make it easy to add simple gestures to custom components, such as item renderers.

Text renderers now support the ability to automatically change font styles when their parent component changes to different states. For instance, a text renderer used by a Button component can now detect when the button is being pressed, and the color of the text will be updated. Unlike previous APIs like downLabelProperties and hoverLabelProperties, this new approach can be more strictly type-checked by the compiler, leading to fewer mistakes in your code. Additionally, this feature can be used by other components with states, such as a TextInput (which may be focused or disabled).

Finally, this version also includes a new TopcoatLightMobileTheme, which is based on a contribution by Marcel Piestansky.

Example

Let’s look at a quick example of using a TextureCache class with a List:

var cache:TextureCache = new TextureCache(30);
var list:List = new List();
list.itemRendererFactory = function():IListItemRenderer
{
    var itemRenderer:DefaultListItemRenderer = new DefaultListItemRenderer();
    itemRenderer.iconLoaderFactory = function():ImageLoader
    {
        var loader:ImageLoader = new ImageLoader();
        loader.textureCache = cache;
        return loader;
    };
    return itemRenderer;
};
addChild(list);

In the code above, every ImageLoader that appears in the List will share the same TextureCache. As the List scrolls, the newly loaded textures will be saved, but existing textures will be borrowed from the cache.

Get started with Feathers UI 2.3.0

You can find the Feathers UI 2.3.0 release notes on the project’s Github page. Developers are encouraged to download the latest stable version from the Feathers website.

AIR 64-bit on Mac OSX

By Nidhi Tanwar

air_3_icon_rgb

With the release of AIR 20, the feature AIR 64-bit implies a major change for the AIR desktop developers. In the previous AIR versions, a 32-bit Runtime Dynamic Library was provided for Mac and Windows. However, with the release of AIR 20, only a 64-bit Runtime Dynamic Library is provided on Mac OS X. This means that all the new applications created by AIR developers will run on the 64-bit Runtime on Mac OS X. All the existing shared applications, captive applications, and native applications will continue to work on the 64-bit Runtime on Mac OS X.

Changes for existing applications

The existing AIR applications require the following changes when using AIR 64-bit.

Shared, Captive, and Native applications

These applications will continue to run on AIR 64-bit.

Native extension

All the native applications that use a 32-bit ANE need to add a 64-bit ANE to continue working with AIR 20 and beyond on Mac OS X. To create a 64-bit ANE, you have to provide the platform value as MacOS-x86-64 in the extension descriptor file and in the command used to create the ANE.

So, a native extension descriptor file for Mac OSX will have the following structure:

<platforms>
  <platform name="MacOS-x86-64">
    <applicationDeployment>
      <nativeLibrary>…</nativeLibrary>
      <initializer>…</initializer>
      <finalizer>…</finalizer>
    </applicationDeployment>
  </platform>
</platforms>

And the command for creating the ANE will be:

adt -package  -target ane  path/where/you/want/YourANE.ane YourExtensionDescriptor.xml  -swc YourAIRLibrary.swc  -platform MacOS-x86-64  library.swf YourMacOSNativeLibrary.framework

Libraries and frameworks for Xcode

When you are creating the native code extension for 64-bit architecture using Xcode, the following libraries and frameworks have to be included in Xcode (see figure below):

  • Adobe AIR.framework
  • Adobe AIR_64

 

 

 

 

 

 

 

 

 

 

 

 

 

Note: If you do not add Adobe AIR_64, which is a 64-bit dylib inside the Adobe AIR framework, you may get link errors such as “ld: symbol(s) not found for architecture x86_64 error.”

Linking ANE using Flash Builder 4.7

If you are linking your AIR application with 64-bit ANE using Flash builder 4.7 by adding the ANE in ActionScript Build Path for the AIR project, you will notice that there is a red ‘X’ next to the ANE file entry in the Build Paths dialog box (see figure below). If you click the triangle, you will see the error “This ANE does not support air-native-macosx platform”. This is a quirk in Flash Builder 4.7; if you click the triangle next to Targets, you will see that MacOS-x86-64 is supported by the ANE.

Linking ANE using Flash Builder 4.7

 

The red ‘X’ issue is observed again when you are packaging the ANE by including the ANE in ActionScript Build Packaging.

Ignore the error and click OK.

3

 

When you are creating your native application from the Project >Export Release Build, Flash Builder displays a packaging error. To continue with app creation, check select Ignore Errors in Native Extensions tab and click Finish. Your application will be created successfully.

4

 

Related Documents

Flash Runtime v20 Release Announcement!

We’re pleased to announce the immediate availability of Flash Player and AIR version 20!  With this December release, we’ve added new features, important security updates and functional bug fixes for our customers.  Full details on this release can be found in our release notes and security bulletin.

Updates for Flash Player 20 have automatically started rolling out to those that have enabled “Allow Adobe to install updates (recommended)”.  If you’ve opted into this auto update mechanism there’s no work required on your end.   Over the next 24 hours we’ll be pushing this update out silently and automatically to computers connected to the internet.

Customers using Google Chrome or Windows 8.x/10 Internet Explorer or Microsoft Edge will receive the update through the Google and Microsoft update mechanisms.

Last week we made some exciting announcements around Flash Professional, now Adobe Animate CC, and a new partnership for the Flash Runtime.  The future is very bright for the Animate CC team and for the designers and developers that use this tool.  The changes and improvements they’ve made and have planned for 2016 are inspiring and we’re more than confident that they will continue to deliver the innovation that our customers need to succeed.

On the Flash Runtime side, we’re thrilled to announce our partnership with Facebook.  We know that our customers and developers rely on Flash content to work securely and reliably.  With this new partnership with Facebook, our ongoing collaboration with both Google and Microsoft, and our close work with Apple, Mozilla, Opera and others, we’re committed more than ever to making the Flash Runtime secure, reliable, and compatible for everyone.

As we close out 2015, Flash Player enjoys amazing ubiquity with full support from every major browser and operating system in use today.  Flash Player is built into every version of Google Chrome and ChromeOS.  Flash Player comes as part of both the Windows 8 and Windows 10 operating systems and works seamlessly with both Internet Explorer and Microsoft Edge.  Flash Player has full support from Mozilla Firefox, Apple Safari, and Opera.  This unprecedented level of support allows our developers to be successful and our customers to enjoy the content they want to use, view, and play.  We look forward to great things to come in 2016 and we wish everyone a happy new year!

 

Read past the break for the highlights of this release!

Continue reading…

November Flash Runtime Update

If you hadn’t noticed, we updated both Flash Player and AIR last Tuesday (11/10) with new builds focusing on security and important bug fixes.  Flash Player was updated to 19.0.0.245 and AIR is now at 19.0.0.241.  AIR developers, please note that the AIR SDK and runtime were updated with a refresh of the embedded Flash Player plugin only.

Full details can be found, as always, in our release notes and Flash Player and AIR forum announcements.

But that’s not all!  November was our last scheduled v19 release and we’re now on track for a December launch of v20!  Head on over to Adobe Labs to pick up the latest Flash Player and AIR betas.   Make sure to check out the new AIR beta features like Android TV support, secure socket for iOS, and 64-bit support for OSX (Windows coming soon).  On the Flash Player side we’ve got improved PPAPI printing and now Windows 8/10 access to hardware acceleration options.  Full details in the release notes.

Flash Player guidance for Internet Explorer 11 and Microsoft Edge

A great deal of flash content, which works in Internet Explorer 10 or earlier, may behave incorrectly with Microsoft’s latest browsers. This blog post will list technical differences to help developers debug why their site might be broken in Internet Explorer 11 or Microsoft Edge.  This is truly a deep dive into the workings of Flash Player and browser detection.

For those that merely want our recommended best practice to embed Flash Player in your HTML code, the answer is simply use SwfObject 2.3.  Documentation can be found in the README on GitHub and on the Google Code pages.  If you use SwfObject 2.3, you can have high confidence that your content will load appropriately with all modern browsers.

If you are interested in learning more, make sure to check out the remainder of the article after the break.

Huge thanks to Peter Grandmaison and Jeromie Clark for their encyclopedic knowledge and guidance putting this post together.

Continue reading…

Flash Player Security Update Available

We’ve updated Flash Player with important security updates today.  For everyone enrolled in our auto update system (highly recommended), you’ll be automatically and silently updated within 24 hours.  For more details on this release, please see our security bulletin and release notes linked below.

Security Bulletin (APSB15-27)

Flash Player release notes

October Flash Runtime Update

Today the team has released our scheduled October update for Flash Player and AIR.  Flash Player 19 has received important bug and security fixes and the AIR runtime and SDK were updated to refresh the embedded version of Flash Player with today’s release.

Full details can be found in our release notes and Flash Player and AIR forum announcements.

I hope those of you that attended MAX this year had a great time!  I enjoyed meeting everyone and was blown away by the work being done by our teams and customers.

One final item.  For those targeting iOS 9 and interested in universal links, please take a look at the release notes.  You’ll find detailed instructions on how to go about using these with the latest AIR SDK.

Flash Player and AIR 19 are now available!

Where has the year gone?  We had an incredibly busy summer and now, with the days shortening here in California and the season about to end, Flash Player and AIR 19 have been released!

Our focus remains strong and our dedication to our customers is absolute.  We’re committed to the security of the internet and those that use our runtimes.  We’re also prioritizing the needs of our development community and providing the features and support you need to be successful.

I hope to see some of you at MAX this year.  If you’re planning on attending, please let me know if you’d like to sync up!

For more details on today’s release, please visit our Flash Player or AIR announcement pages, or just head on over to our release notes for the full details.  The feature highlights can be found below.

  • iOS Concurrency

Our popular desktop and Android feature, AIR Workers, is now making its debut on iOS! We have added support on iOS devices so that you will be able to execute code in the background without interrupting your application’s main code. Your UI will remain responsive, enhancing the user experience!

  • New insertAt() and removeAt() Vector and Array APIs

With Flash Player and AIR 19, we have introduced two new APIs for element insertion or removal in Vector and Arrays. They are implemented to perform better than existing splice method when used for single element.

  • Improved Stage3D Error Messages

We’ve added new Stage3D error codes to provide developers with additional debugging and error information.  We have also updated the AS3 documentation for various Stage3D APIs to provide more information about the reasons for the errors thrown.

  • Added ability to disable browser zoom factor scaling via HTML

In Flash Player 15, we added code to improve the resolution of Stage3D content when the browser’s zoom factor (BZF) was changed.  This was extended to the PPAPI and Windows XP/Vista/7 Active X control in Flash Player 18.  In Flash Player 19, we’re providing the developer the ability to enabled or disabled this functionality.

BZF is turned on by default but can now be turn on/off by setting a new attribute “browserzoom” to either “scale” or “noscale” in HTML EMBEDSWF and OBJECT tags.

  • iOS 9 Compatibility

We’ve run through a full certification pass and verified that AIR applications work on last week’s iOS9 release.  Look for new iOS 9 specific features in upcoming releases!

Feathers updates to 2.2.0

Congratulations to Josh Tynjala and the Feathers open source project for the release of Feathers 2.2.0 this week. Feathers offers a large collection of ActionScript UI components and layouts for mobile and desktop. It is powered by Starling framework and  Adobe AIR.

feathers-video-player

What’s new in this release?

In version 2.2.0, Feathers UI includes a new media player framework, new layouts, and new animated transitions to visually enhance your games and apps.

Media player framework

VideoPlayer component uses Texture.fromNetStream() to display video textures, which was added in Starling 1.7.

SoundPlayer is another component in the media player framework intended for playing audio files.

Layouts

FlowLayout and WaterfallLayout add new layout options to Feathers containers.

Animated transitions

Two new animated transitions have been introduced to enhance screen navigators: Wipe and Iris.

Example: Here is a quick example of VideoPlayer component:

var player:VideoPlayer = new VideoPlayer();
player.layout = new VerticalLayout();
player.setSize( stage.stageWidth, stage.stageHeight );
this.addChild( player );

To play a video file, pass the URL to the videoSource property:

player.videoSource = "http://example.com/video.m4v";

We need to add an ImageLoader component as a child of the VideoPlayer to display the video texture:

var loader:ImageLoader = new ImageLoader();
var loaderLayoutData:VerticalLayoutData = new VerticalLayoutData();
loaderLayoutData.percentWidth = 100;
loaderLayoutData.percentHeight = 100;
loader.layoutData = loaderLayoutData;
player.addChild( loader );

When VideoPlayer dispatches Event.READY, we can pass the video texture to the ImageLoader:

function readyListener( event:Event ):void
{
    loader.source = player.texture;
}
player.addEventListener( Event.READY, readyListener );

A number of media player controls such as PlayPauseToggleButton and SeekSlider may be added as children too.

See How to use the Feathers VideoPlayer component for complete details.

Get started with Feathers UI 2.2.0

You can find the Feathers UI 2.2.0 release notes on the project’s Github page.

Developers are encouraged to download the latest stable version from the Feathers website.

Troubleshooting common Adobe AIR installation errors with iOS applications

air_3_icon_rgb

By Piyush Bagri

In this post, we will explain the possible causes and solutions for some general errors that may occur when installing an AIR application on iOS devices using Flash Builder, Flash Professional, or command-line. This will help you to narrow down the installation error to a specific cause so that it can be resolved easily.

Installation error: “Application verification failed.”

The possible causes for this installation error along with the solutions to rectify it in each case are specified here.

Wildcard characters used in application id

If you are using any wildcard characters in the application id in your project, for example ‘calculator.debug.*‘, you will get ‘application verification failed‘ error.

Solution: The error will be resolved as soon as you remove the wildcard characters from the application id.

Feature listed in application.xml file is not added in the provisioning profile

If you are trying to compile your IPA with aps-environment key in entitlement.plist tags in application.xml file as shown in the example below and push notification service is not enabled in provisioning profile, then also you will get ‘application verification failed‘ error.

Example: Entitlements tag has been added in application.xml file but the push notification service is not enabled in provisioning profile.

...
<Entitlements><![CDATA[
            <key>aps-environment</key>
            <string>development</string>
             ]]>
</Entitlements>
...

Solution: Simply comment the above section of the code in application.xml or else add the feature in the provisioning profile. You will be able to rectify this error and compile your project. For more details, see Using push notifications in AIR iOS apps.

Wrong certificate used for packaging

You can also get ‘application verification failed‘ error if there is something wrong with the developer certificate that you are packaging your AIR application with. Another reason for the error could be that your device UUID is not listed in the provisioning profile.

Solution: You will be able to install your app on the device when you connect the right certificate with your provisioning profile. To know more about applying for an iPhone developer certificate and creating a provisioning profile, see Obtaining and working with iPhone developer files.


Installation error: “iTunes mobile device library not found. Please check your iTunes installation.”

This installation error is mainly related to the version of Adobe Flash Professional CC and/or AIR SDK that you are using to connect with Apple iTunes while installing the AIR application on your device. You may get this error in the following cases:

Using Flash Professional CC 2014 with iTunes 12.1.2

If you are using Adobe Flash CC 2014 and AIR SDK (any version) with iTunes 12.1.2, you may get this installation error when in your Flash Professional CC project you select:

File > Publish >Install application on the connected iOS device

Solution: This issue has been fixed in the latest Adobe Flash Professional CC 2015 version. With this fix, it can now be used with Adobe AIR SDK (any version) and Apple iTunes version 12.1.2 in Windows environment.

Using ADT version 16 or older with iTunes 12.1.2

If you are trying to install your application on the iOS device by command-line using ADT version (same as AIR SDK version) 16 or older, you can encounter this error. ADT is not able to detect iTunes 12.1.2 library in this case.

<AIRSDK Location>/bin/adt –installApp –platform ios –package <package name>

Solution: It is recommended to use Adobe AIR SDK version 16 or newer to resolve this error. iTunes 12.1.2 library is detected by Adobe AIR SDK 16 or newer versions.

Using ADT version 20.0.0.177 or older with iTunes 12.3

If you are trying to install your application on the iOS device by command-line using ADT version (same as AIR SDK version) 20.0.0.177 or older, you can encounter this error. ADT is not able to detect iTunes 12.3 library in this case.

Solution: With AIR SDK 20.0.0.178 build this issue has been resolved.


Installation error: “PackageInspectionFailed”

This installation error is mainly related to the version of Adobe Flash Professional CC and/or AIR SDK that you are using to connect with Apple iTunes while installing the AIR application on your device.

Solution: With Flash Builder 4.7, cleaning your project solves this error.

To clean you project, choose Project> Clean > Clean All Projects. See Build projects in Adobe Flash Builder 4.7 documentation for more details.

***

Typically, you want to have the latest version of Adobe AIR. To get it, follow the instructions at Download and install Adobe AIR. However, you can get an older version of Adobe AIR here.

Do you still have problem with the installation of Adobe AIR application? Post your question in the Adobe AIR Installation Issues forum.