How to publish an app with Air 3.0? - actionscript-3

I have overlaid Air 3.0 over the flex sdk. I have targeted swf version 13 and included 3.0 in the header of my xml file, is there anything else i need to do to get my app published with air 3.0.
Also is there a way to check what version of air the app has been published with once it has been published?
I am using flash builder 4.5 and osx.

You can get the AIR version at runtime using NativeApplication.nativeApplication.runtimeVersion
Edit:
Also remember that there are different SDKs for Windows and for OSX. The Windows SDK does not work on OSX and vice-versa. Attempting to do so results in a runtime error.

OS X doesn't really matter.
Your application descriptor has changed in format since AIR2.0 The easiest way to check this is create a new AIR 3 project and check the app descriptor xml for that application, and compare it to yours. You will easily find out the differences.
The AIR runtime version (as lukevanin said) can be read from
NativeApplication.nativeApplication.runtimeVersion
Then you can publish in the same way as before (export release build -> select certificates, etc)

Related

How can I build older AIR apps with a newer version of the AIR SDK without updating the application descriptor file?

Does anybody know how to build an AIR application made with an earlier version of the SDK (say 3.8, or 3.9) with a newer version of the AIR SDK (4.0, for instance) without altering the namespace version in the application descriptor xml file?
Adobe claims in the release notes for AIR SDK 4.0 (beta) (pdf):
If your application
does not require the new AIR 4.0 API's and behavior, you are not required to update the namespace. However, we recommend all users start
using the AIR 4.0 namespace even if you are not yet taking advantage of the new
capabilities.
and I've seen that in earlier release notes too but I've always had to update the namespace anyway, to prevent compiler error messages like this one:
Namespace 3.9 in the application descriptor file should be equal or higher than the minimum version 4.0 required by AIR SDK .
Can it be fixed by a compiler argument, or something else?

Test Flash generated .IPA, using Testflight

It's posible to install a Flash generated .IPA using TestFlight ?
I need to test my app in a few number of ipads, for private (not public) use.
Thanks.
I haven't used it myself, but there's a native extension for TestFlight provided by Adobe.
It comes bundled with the Adobe Gaming SDK (maybe you can download it separately).
Here's the documentation.

Windows Phone 8 JSON

I am starting the development on windows phone 8, the famous JSON.NET does not support windows phone 8 yet, is there any other library which can be used for this purpose?
The JSON.NET codeplex site says that WP8 is supported.
Update: The JSON.NET NuGet package should just work with a Windows Phone 8.0 project. Adding it in VS2012 NuGet manager pulls in the WP7 version of JSON.NET. (packages\Newtonsoft.Json.4.5.10\lib\sl3-wp\Newtonsoft.Json.dll)
JSON.NET is now also available as a Portable Class Library which you can consume from WP8 (available in NuGet or in source form).
Had the exact same problem - turns out I didn't have the newest version of NuGet.
To upgrade, click tools -> extensions and updates and then click the Updates-tab. Update everything, restart the program and try again. :-)
I was having this issue. I was able to compile the source for Windows Phone 8 instead of Windows 7.1 and it worked. NuGet would not work for me.
Here is how I did it:
Open up solution JsonXXrXX.zip\Source\Src\Newtonsoft.JSON.WindowsPhone.sln
Go to properties for Newtonsoft.Json.WindowsPhone Project(Right click on the project then properties)
For the dropdown of "Target Windows Phone OS Version" select Windows 8.X
Compile.
Grab the DLL, PDB, and XML from the output directory
Add Reference to the DLL file in your Windows Phone 8 Project
Thats it. I can't vouch that it works 100% or that you'll be able to submit your app. But it should hold you over until there is official support.
For complex json you might find this website helpful: http://json2csharp.com/#.
If you don't wanna make too fancy stuff (or need dictionary) suppport, you can also just use the built-in DataContractJsonSerializer (http://msdn.microsoft.com/en-us/library/system.runtime.serialization.json.datacontractjsonserializer.aspx)
Btw: At least in https://json.codeplex.com/discussions/401305 some people report that the WP7.1 dll works for them, using this file: "Newtonsoft.Json.4.5.7\lib\sl4-windowsphone71\Newtonsoft.Json.dll".

JavaFX Native libraries

I create a simple Java Map Scene in JavaFX. I put jfxrt.jar into my lib folder in project, but I also need native libraries to use some components: for example glass.dll on Windows and libglass.dylib on MacOsX. I have got few queston:
Where I should add these libliaries? To /rt/?
It is Swing application, and client start it by using Java WebStart. How can I add dependencies to these native libs?
What about x32 / x64 Windows versions? The jfxrt.jar is different for 32bit and 64bit system.
Where I should add these libliaries? To /rt/?
You could place the libraries in ../bin relative to where you have placed jfxrt.jar. Haven't tried it, but I think it will work as that is the directory structure used by the JavaFX distributions.
Embedding the native libs in a Swing app delivered via a webstart package is not a documented deployment option. Instead of doing that, I'd advise checking for JavaFX presence in your Swing app and, if JavaFX is not there launching a browser pointing to the JavaFX runtime download and installation page - the instructions for which are here. For example:
try {
new javafx.util.Pair("a","b"));
} catch (ClassNotFoundException e) {
java.awt.Desktop.getDesktop().browse(new URI("http://www.java.com/en/javafx/"));
}
It is Swing application, and client start it by using Java WebStart. How can I add dependencies to these native libs?
If you app is still in development, and can be targeted for the JavaFX 2.2 release in a couple of months, then you could set the minimum version required for the app to JDK7u6 - which will include JavaFX 2.2 runtime libs - then you wouldn't have to worry about their distribution and the deployment scenarios are much, much simpler.
Not sure if JavaFX 2.1 embedded in Swing deployed via WebStart is supported (or would even work) outside of Windows. You may want to wait for 2.2 for Mac and Linux webstart support for JavaFX applications.
What about x32 / x64 Windows versions? The jfxrt.jar is different for 32bit and 64bit system.
If you app is launched from a browser, then whatever bits the browser has is the bits that are required for JavaFX and Java. Most browsers today (at least under windows) are 32 bits, even if the user has a 64bit OS - so that is something to watch out for. As you are using WebStart, it may not have the browser bit match dependence (in which case you should at least match the bit versions of JavaFX and Java).

Is there a way to publish a AS3 based Flash projector that will run on a PowerPC Mac?

I'm using AS3 to author my project. I tried to publish as Flash Player 9 and this didn't work. I can't go down to Flash Player 8 because that predates AS3.
You can open your SWF in the Flash Player on your PowerPC, then save as projector. The project has to be exported to run with the same Flash version, though - perhaps you have to use a different SDK?
If it isn't possible to target Flash 9 with your current version, try the Flex 3 SDK. You can download it for free and run the compiler using a build tool like Ant, Maven, Gradle, etc., from your IDE (FlashDevelop, FlashBuilder, FDT, etc.) or directly from the command line / prompt.