Flex Mobile 4.5.1 iOS NetworkInfo not available

Hi guys,
I'm building a Flex mobile app for Android and iPad platform. I have a requirement to identify each tablet device on the server side. Normally the AIR SDK has the NetworkInfo class to access the MacAddresses available on the device:
var interfaceVector:Vector.<NetworkInterface> = NetworkInfo.networkInfo.findInterfaces();
My problem is that iPad 2 doesn't seem to support the NetworkInfo class on the device so I can't find a way to access the MAC address.
Does anyone know a way to extract some sort of unique ID (it can be anything as long as it's unique) from an iOS device?
Thanks in advance.
Bashar

Hi Bashar,
that's not that iPad does not seems to support that api, it is explicitly not supported on mobile profile:
AIR profile support: This feature is supported on all desktop operating systems and AIR for TV devices, but is not supported on all mobile devices. You can test for support at run time using the NetworkInfo.isSupported property. See AIR Profile Support for more information regarding API support across multiple profiles.
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetworkInfo.h tml
The topic of indentifying devices is returning on forums, e.g. see:
http://forums.adobe.com/thread/803428
As far as I can remember only BlackBerry tablet OS additions offers unique per-device UUID via actionscript:
http://www.blackberry.com/developers/docs/airapi/1.0.0/qnx/system/Device.html
on Android/iOS you could consider switching to per-installation model - that is generate your own UUID (in way you want: locally via script or via server-generated hash, etc) which once saved in application is later used to identify it against server.
hth,
regards,
Peter

Similar Messages

  • Why is ios 7 not available yet

    why is ios 7 not available yet

    IOS 7 stinks wrote:
    don't get it
    Too late. I got it and I love it!

  • Ios 5 not available in UAE?

    ios 5 not available in UAE today, October 12, 2011?

    if that so, i will wait 'til tomorrow morning to get this iOS update! I live in Thailand and it's almost midnight when guys in Cupertino start their work. Good night, folk.

  • IOS 7 not available

    IOS 7 was available on my iPhone 5 but when I clicked install I got an error message that stated an error occurred. Now when I select software upgrade the message reads your software is up to date 6.1.4??  Where did the update go??

    Patient!! a lot of people have been waiting for over 4 hours for a 750mb file to download! if apple couldn't handle it they shouldn't have released it!

  • Why is the iOS 5 not available for the iPhone 3G??

    So disappointed that the iPhone 3G can't update to the new iOS 5!!!!!!!  Does anybody know why??? Is there any solution?
    Now I can't syncronize my data like I used to do it with mobile me!!!
    SO DISAPPOINTED Apple!!!
    You SHOULD make it available to all iPhone users, not just the new ones!

    Yes, Mobile me is available until january, but since I downloaded Lion I thought the best option was to switch to iCloud, so my Mobile me isn't available anymore... I can still sync my data manually!
    After that was when I tryed to update my iPhone and got the surprise that it's not compatible with the iOS5!
    I guess it's time to get a new phone... haha
    This is my first big disappointment with Apple... sad
    Thanks everbody !

  • Why isn't iOS 7 not available on first generation ipads

    Anyone know why the first generation IPads are not included in iOS. 7 download? Is there a campaign to take this matter resolvable?

    Hardware limitation.
    Original iPad: 256MB RAM
    iPad 4: 1GB RAM
    iPad Air: 1GB RAM

  • IOS App not available worldwide?

    Is the app available in the US App store?

    Hi
    Welcome to communities.
    Yes , it must be available ,Please share screen short if not .

  • Text positioning not correct while typing in Flex Mobile Text Area

    When I try to write text in Flex mobile TextArea, the text positioning is not correct. What might be the issue? Do I need to specify some Skin Class for it?

    Could be that the font doesn't have Hindi chars support and the text you paste is HTML chars.
    You could try to embed a font you know has the appropriate chars and use that for global and Applications CSS classes.

  • ProgressBar on Flex Mobile? Howto?

    I feel like an idiot asking this, but is there really no official way to put a ProgressBar component on a Flex Mobile project, even up to version 4.5.1?  The documents seem to indicate as such, as Spark still has no ProgressBar equivalent, and mobile is Spark-only.
    Maybe there is a 3rd party progress bar out there somewhere?
    I'm currently trying to hack the Flash Pro CS5.5 fl.controls.ProgressBar into my Flash Builder project through an SWC, which is just plain dirty, since Adobe seems to have purposely made the Flex-side interfaces incompatible between Pro and Builder (eg, fl.controls instead of mx.controls).
    What gives?  It can't seriously be this involved to put a progress bar on a mobile Flex project... I feel like I'm in Bizarro-world...

    If anybody is curious, this is the procedure to hack a Flash Pro ProgressBar displaying in a Flex Mobile app (specifically an iOS project)... if anybody has a better way to get a progress bar, I'm all ears!
    Flash Pro CS5.5:
    Open Flash Pro CS5.5, create a new ActionScript 3.0 FLA (not an iOS or Android FLA)
    Open the Component window, and drop a ProgressBar onto your stage
    Note that you now have a ProgressBar and several related classes in your Library
    Save your FLA, and then configure it to publish as an SWC.  In the ActionScript 3.0 settings, remove the textLayout library altogether (mixing textLayout libraries tends to cause very strange compile and runtime errors).
    Publish that SWC
    Flash Builder 4.5.1:
    Open FB 4.5.1.  Create a new MXML inside a Flex Mobile project - I was using a Spark View.
    In your Project libraries, add the SWC we just created
    Also, in your Project libraries, add the SWC Folder: ${FLASHPRO_APPCONFIG}/ActionScript 3.0/libs
    FLASHPRO_APPCONFIG should be configured in Prefererences | General |  Workspace | Linked Resources as the Common/Confuguration/ subdirectory  of your Flash Pro CS5.5 application directory
    Appropriately add: xmlns:controls="fl.controls.*"
    Inside the fx:Declaration, add:<controls:ProgressBar id="progress_bar" barSkin="ProgressBar_barSkin" indeterminiteSkin="ProgressBar_indeterminiteSkin" trackSkin="ProgressBar_trackSkin" direction="right" height="20" width="200" ?>
    Outside the fx:Declaration, add:<s:SpriteVisualElement id="progress_bar_container" x="100" y="200" height="20" width="200" />
    Inside an event handler or some other instance code (the creationComplete handler works for testing), add the following code:progress_bar_container.addChild( progress_bar );
    The ProgressBar does not show up in the designer, but it does show up at runtime :).  This was the first code I was able to get working.
    The other promising lead was to use the FlashComponentPlaceholder object instead of SpriteVisualElement (called the "Flash Professional Component" in the Component browser in Flash Builder), but because Adobe changed the package names from mx to fl as I mentioned above, this resulted in incompatible interfaces at runtime (between the two versions of IUIComponent).  This probably could be solved by writing an adapter class, but that seemed like a bit of extra code for no gain compared to what I have above.
    Also, I haven't tried it, but I'm fairly certain you could use this  procedure to get any of the MX controls available in Flash Pro into a  Flex Mobile project... I wonder what's with this artificial restriction?

  • Adobe Flex Mobile + AIR - Custom iOS Build Setting

    I am building some Adobe Flex Mobile application using Flex 4.6.0 + AIR 3.5 only for iOS
    This app involves some iOS Native Extension created also by me.
    The thing is that this ANE uses some third party framework (GD.framework from Good Dynamics Technology). That framework requires GD FIPS linker to be used, and for that, i need to set some custom build settings in a .xcconfig file, with this content:
    FIPS_PACKAGE=$(CURRENT_ARCH).sdk LDPLUSPLUS=/Good Technology/Good.platform/FIPS_module/$FIPS_PACKAGE/bin/gd_fipsld LD=/Good Technology/Good.platform/FIPS_module/$FIPS_PACKAGE/bin/gd_fipsld
    The ANE compiles OK, but then, I add the ANE to the app, I compile the app, but when I launch the app, it crashes because the FIPS linker was not properly got set on my Flex Mobile project.
    So, my question is:
    Is there a way to set the above configuration on my project like somebody would do in a Xcode project?
    Regards!

    I see your key as a reserved key for iOS. I haven't tested it myself but here's the keys you cannot change. Sure enough, MinimumOSVersion is reserved.

  • IOS universal support and ASC 2.0. Will it impact Flex Mobile projects?

    Hello,
    Regarding the latest release notes for AIR 16, it says
    "The legacy compiler is not (and will not be) compatible with iOS 64-bit.[...] it will be removed with version 16 of the AIR SDK"
    I am a bit lost with what it means for Flex Mobile (4.6 or Apache Flex SDK). Will we still be able to compile once AIR 16 is out or will this new compiler have issue with Flex projects compiled for iOS? Will it need us to make some changes on existing Flex applications?
    Thanks for your clarifications,
    Fabien

    It seems this wrong rumour is spreading around... a lot of people don't bother researching properly.
    When they talk about the legacy compiler they talk about ADT, MXMLC will continue to work. The simplified IPA packaging process is: Source code --- MXMLC/ASC2---> SWF ---ADT AOT Compiler---> IPA
    So with AIR 16 the ADT -useLegacyAOT argument will be removed.

  • ANE for one platform on Flex mobile project for iOS and Android

    I'm very new at Flex Mobile Projects and native extension.
    I have a big doubt... If I have an ANE that only works on iOS or Android, can I use it into a project for Android AND iOS?
    I mean, if I want to do something and I've only found and ANE that works for iOS and another ANE that works for Android, can I create only one project and depending on the device use one or another? or should I create two different projects?
    Thanks in advance

    You can set them both up and when you publish just comment out the code that does not apply, this way you still keep it as one project but you can use the ANEs as needed, I had to do this with the iAd ANE only for Apple obviously and AdMob ANE which at the time was Android only.
    Example
    //Android ANE Code
    blah blah blah
    //iOS Code
    code code code
    Now when you publish for iOS comment out the Android related stuff
    //Android ANE Code
    blah blah blah
    //iOS Code
    code code code
    Also dont forget to update your included ANEs when you publish and remove the ones that dont apply and update the XML files as needed. Its possible, but annoying, it would be nice if it was automated or could be flagged somehow so the Flash publisher would auto ignore it.

  • StageVideo with Flex Mobile Project on iOS

    In a Flex Mobile project using StageVideo, StageVideoAvailabilityEvent always returns StageVideoAvailability.UNAVAILABLE.
    I've been reading all day and it looks like StageVideo might not be supported with Flex projects, but I can't find a concrete answer.
    I need a definitive answer, using Flash Builder 4.6, AIR 3.1, and Flash Player 11, can StageVideo be used. If so, any help as to how to get this working would be greatly appreciated.
    Thank you in advance.

    After much trial and error, I finally have a definitive answer. The answer is yes, you can use StageVideo in a Flex Mobile project. To be honest I found StageVideo to be completely useless, at least for what I was hoping to use it for.
    The first big problem is that the StageVideo plays underneath all Flash content. Second, at least on iOS, there were no video controls. I suppose you could roll your own, but I didn't take the time to experiemnt with this. I ended up just using StageWebView.
    More information here: http://www.unfetteredthoughts.net/2012/01/12/embedded-h-264-video-on-ios-with-a-flex-mobil e-project/
    I hope that helps anyone else looking for this.

  • Why am i not able to see any video on Flex Mobile project on tablet

    I am using the strobe media playback in my flex mobile application. I am able to play audio but no video is visible, if i double tap to change to full screen i can see a brief flash of the video then it gets dark again. i am streaming a mp4 file over http. The video displays properly in the emulator but not on my tablet. Can the video encoding have anything to do with it?
    I have the rendermode set to "direct" in the app.xml, my project is based on a ViewNavigatorApplication.

    Safari 5.0.1 or later: Slow or partial webpage loading, or webpage cannot be found

  • Flex mobile 4.6 app works inside flash builder but not in android emulator

    Originally posted on stackoverflow: http://stackoverflow.com/questions/8663892/flex-mobile-4-6-app-works-inside-flash-builder- but-not-in-android-emulator
    I have a basic flex mobile 4.6 app and it works fully fine in the flash builder built-in emulator using an android device profile like aria...
    It also launches fine in the android emulator but one particular view shows blank (and this view works fine in flash builder).
    Before I get in to many details of the view are there any categorical gotchas that can be causing this?
    I can't seem to get the trace statements from the app to show in 'adb logcat'. It seems I need to compile a debug version of the apk but I don't know how to do this. I use the 'Export Release Build' from the Project menu in flash builder and it doesn't seem to have an option for debug=true.
    The problematic/blank view basically uses the stagewebview and iotashan's oauth library to call linkedin rest apis... A different (and working) view can make restful web service calls in the emulator fine, so it doesn't seem to be an internet permission.
    The source code contained in the problematic/blank view is almost identical to the tutorial found at:http://www.riagora.com/2011/01/air-and-linkedin/
    The differences are: a) The root tag is a View b) I use StageWebView instead of HtmlContainer c) I use my own linkedin key and tokens.
    I would appreciate it if someone can provide me with some pointers on how to troubleshoot this situation. Perhaps someone can tell me how to debug the app while running in the emulator (I think I need the correct adt command arguments for this which matches the 'Export Release Build' menu but adds the debug param?)
    Thanks for your help in advance.
    Comment Added:
    I suspect that this has to do with connections to https:// api.linkedin.com and https:// www.linkedin.com. The only reason I can think of that the same code is not having issues inside of Flex Builder but indeed having issues in the Android emulator is something to do with certificates. Any ideas?

    Thanks er453r,
    I have created a project that clearly reproduces the bug.  Here are the steps:
    1) Create a UrlLoader and point it to https://www.google.com (HTTPS is important because http works but HTTPS does not)
    2) Load it
    3) Run in Flash Builder 4.6/Air 3.1 and then run in Android emulator.  The former works with an http status 200.  The latter gives you an ioerror 2032.  I am assuming what works in Flash Builder is supposed to work in the Android Emulator and what what works in the emulator is supposed to work in a physical device (plus or minus boundary conditions).
    I see a certificate exception in adb logcat but not sure if it's related...
    Here is the self contained View code which works with a TabbedViewNavigatorApplication:
    <?xml version="1.0" encoding="utf-8"?>
    <s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
                        xmlns:s="library://ns.adobe.com/flex/spark"
                        xmlns:mx="library://ns.adobe.com/flex/mx"
                        xmlns:ns1="*"
                        xmlns:local="*"
                        creationComplete="windowedapplication1_creationCompleteHandler(event) "
                        actionBarVisible="true" tabBarVisible="true">
              <fx:Script>
                        <![CDATA[
                                  import mx.events.FlexEvent;
                                  protected var requestTokenUrl:String = "https://www.google.com";
                                  protected function windowedapplication1_creationCompleteHandler(event:FlexEvent):void
                                            var loader:URLLoader = new URLLoader();
                                            loader.addEventListener(ErrorEvent.ERROR, onError);
                                            loader.addEventListener(AsyncErrorEvent.ASYNC_ERROR, onAsyncError);
                                            loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
                                            loader.addEventListener(HTTPStatusEvent.HTTP_RESPONSE_STATUS, httpResponseStatusHandler);
                                            loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
                                            var urlRequest:URLRequest = new URLRequest(requestTokenUrl);
                                            loader.load(urlRequest);
                                  protected function requestTokenHandler(event:Event):void
                                  protected function httpResponse(event:HTTPStatusEvent):void
                                            label.text += event.status;
                                            // TODO Auto-generated method stub
                                  private function completeHandler(event:Event):void {
                                            label.text += event.toString();
                                            trace("completeHandler data: " + event.currentTarget.data);
                                  private function openHandler(event:Event):void {
                                            label.text +=  event.toString();
                                            trace("openHandler: " + event);
                                  private function onError(event:ErrorEvent):void {
                                            label.text +=  event.toString();
                                            trace("onError: " + event.type);
                                  private function onAsyncError(event:AsyncErrorEvent):void {
                                            label.text += event.toString();
                                            trace("onAsyncError: " + event);
                                  private function onNetStatus(event:NetStatusEvent):void {
                                            label.text += event.toString();
                                            trace("onNetStatus: " + event);
                                  private function progressHandler(event:ProgressEvent):void {
                                            label.text += event.toString();
                                            trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);
                                  private function securityErrorHandler(event:SecurityErrorEvent):void {
                                            label.text +=  event.toString();
                                            trace("securityErrorHandler: " + event);
                                  private function httpStatusHandler(event:HTTPStatusEvent):void {
                                            label.text += event.toString();
                                            //label.text += event.responseHeaders.toString();
                                            trace("httpStatusHandler: " + event);
                                  private function httpResponseStatusHandler(event:HTTPStatusEvent):void {
                                            label.text +=  event.toString();
                                            trace("httpStatusHandler: " + event);
                                  private function ioErrorHandler(event:IOErrorEvent):void {
                                            label.text +=  event.toString();
                                            label.text += event.text;
                                            trace("ioErrorHandler: " + event);
                        ]]>
              </fx:Script>
              <fx:Declarations>
                        <!-- Place non-visual elements (e.g., services, value objects) here -->
              </fx:Declarations>
              <s:Label id="label" y="185" width="100%" color="#0A0909" horizontalCenter="0" text=""/>
    </s:View>

Maybe you are looking for

  • Itunes will not update all music onto my ipod

    I'm using 5th Gen iPod w/ latest software and itunes with latest software (as of 8/5/09) I had to restore my ipod the other day, so it began the process of copying all my music library back to my ipod. it attempted to copy a certain song for about 10

  • Fully Qualified Hostname problem with 9iAS install on WinNT

    I am working within a corporate lan and installing 9ias to a Windows NT Sp 6 PC. I am using a fixed ip address and a fixed dns server. Although in the tcp/ip properties, dns tab I specify the hostname (shashi_build) and the domain (optus.com.au) and

  • CS4 Colour Management question(s)

    Ok, here goes... My team of designers create adverts in InDesign that are to appear in either a newspaper OR a glossy magazine. We employ an Ad Tracking system that provides a blank InDesign template for them to work from. The Ad Tracking system know

  • Sheduling by Milestone Operations

    All, I have a scenario where my customer would like to calculate the lead time to produce materrial based soley on the length of time which is entered on Milestone operations. Currently durations are maintained at each operation and we do not want to

  • Trying to reinstall CS2/Adobe Professional 7.0.5

    I uninstalled Adobe Professional from my Macintosh G5 because the Distiller (ver 7.0.9) won't work anymore. I am following directions for reinstalling 7.0.5 from my CS2 disks > directions say to "double-click the installer application on the CS2 Disk