15 Replies Latest reply on May 16, 2012 7:43 AM by sinious

    flash cs6 native ane publish problem

    painschen Level 1

      hi! i was very lucky to download and test flash cs6, but there are directly problems with the publish function

       

      after i add an ane file, i get this error:

       

      DVFreeThread - CFMachPortCreateWithPort hack = 0x18fe90, fPowerNotifyPort= 0x19d5a0

      DVFreeThread - CFMachPortCreateWithPort hack = 0x1a96b0, fPowerNotifyPort= 0x18c5e0

      DVFreeThread - CFMachPortCreateWithPort hack = 0x19d0a0, fPowerNotifyPort= 0x19d5a0

      invalid profile specified 'Application does not support current profile'

       

      if i'm testing another ane file, i get this error:

      DVFreeThread - CFMachPortCreateWithPort hack = 0x32a460, fPowerNotifyPort= 0x319fc0

      DVFreeThread - CFMachPortCreateWithPort hack = 0x1454b0, fPowerNotifyPort= 0x12c400

      The content cannot be loaded because there was a problem loading an extension: Error: Requested extension com.wolfknock.idialog is not supported for MacOS-x86.

       

      both ane files was supported on the cs5.5 version. so should cs6 not be besser than 5.5?

      i'm using the default deliverd air3.2 and mac lion..

       

      maybe it's because the new option ios sdk 5.1 (checkbox?)

        • 1. Re: flash cs6 native ane publish problem
          painschen Level 1

          i realized, that this error message is only because the simulator/air local.

          so if publish the .ipa without testing the file is working fine!

           

          sorry

          • 2. Re: flash cs6 native ane publish problem
            sinious Most Valuable Participant

            If you're making the ANE yourself you can create an interface for that platform just so you don't get errors. You can even make the implementation work if you like . But yes, anytime you see:

             

            "extension [something] is not supported on [platform]"

             

            That's just saying the ANE did not provide alternative code for the platform it's being run on. In your case, the simulator.

            • 3. Re: flash cs6 native ane publish problem
              mola2alex Level 1

              On CS5.5 it worked but now it doesn't.  This sucks because I can't troubleshoot as well as I did with CS5.5.  It would previously just generate a runtime error but still allow me to run.

              • 4. Re: flash cs6 native ane publish problem
                painschen Level 1

                It's working only after publishing. That really sucks, because if i want to test other functions of my app, i have to remove the ANE file and comment the extension out.

                 

                It would be nice if we can use something like if ane.supported, but i dont think so..

                • 5. Re: flash cs6 native ane publish problem
                  sinious Most Valuable Participant

                  Unfortunately it's a compile time error not a runtime error. If it was runtime then yes you could certainly check the typical isSupported() method most ANEs have. Although you need to compile to get to that point and the compiler is throwing the error.

                   

                  Flash CS5.5 didn't have a problem because you needed to package with ADT command line to include a native extension as it had no idea what it was so it makes sense you could test using it. Flash Builder users (which has had ANE support) have had to deal with keeping ANEs from being packaged to avoid the same compiler errors you're getting. We're very used to the PITA that it is

                   

                  All an ANE developer needs to do is provide an implementation for a particular platform, even if it doesn't work, and you won't get errors. During creating the static library for the ANE the iOS developer could specify support for it in the build. Unfortunately the ANE you're using doesn't have that. It's telling Flash it only works on a device.

                  • 6. Re: flash cs6 native ane publish problem
                    painschen Level 1

                    Thx for your feedback.. i hoped there is a solution, but ok.

                    At the moment i'm using a simple var for my extensions like:

                     

                    var devMode:Boolean = true;

                    if(devMode != true){

                    ...

                    }

                     

                    But for the future i have to learn creating ANE files to get an clean solution..

                    • 7. Re: flash cs6 native ane publish problem
                      sinious Most Valuable Participant

                      If you know C and Obj-C/Cocoa it's not too hard. Your solution is just fine.

                      • 8. Re: flash cs6 native ane publish problem
                        mola2alex Level 1

                        @sinious - in CS5.5 I was able to test my swf but in CS6, I get a fail.  So for instance, one of my extensions is an Android dialog box and a flash button click opens it.  In Flash CS5.5, it compiled and ran in the Flash environment but when I clicked that button, I received an error.  In CS6, the same exact code does not even compile.  So in CS5.5 it manifests as a runtime error (preferred) but in CS6 it is compile time.  I did use ADT is to build the final APK but at least in CS5.5 I could test the flash only stuff in Flash and now I cannot.  I have tried a 'devMode' which works for all but one extension.  The problematic extension doesn't compile and gives a not supported in Windows message.  So while I have gained some efficiencies in CS6 for reducing the command line, I have lost others.  It is likely a poorly written extension but it did work before.

                        • 9. Re: flash cs6 native ane publish problem
                          sinious Most Valuable Participant

                          Most ANEs just handle their device implementations that I've seen around so far. I use Flash Builder so I'm extremely used to having to disable the ANE to compile. CS5.5 is completely "ignorant" of the ANE. It can load the SWC and therefore allow you to test, but that's not really functioning properly. CS6 knows how to utilize the ANE and it's giving you a valid error.

                           

                          While it feels a step back, it's a very familiar thing to us Flash Builder users. You're just catching up . Now that Flash CS6, Flash Builder and ANEs are maturing you can expect the future ANEs to provide desktop integration with Windows and OSX (maybe even Linux). If you pay for an ANE and it doesn't come with an implementation for your OS, I'd complain. There's a big difference in what to expect from an ANE someone gives away and one people charge for. If your android dialog ANE is free, well, you got what you paid for

                          • 10. Re: flash cs6 native ane publish problem
                            painschen Level 1

                            "you got what you paid for".. haha nice

                             

                            a good solution of adobe in the next version would be checkbox at each ane file, in which we could disable the file temporary (without removing/readding after some tests)

                            • 11. Re: flash cs6 native ane publish problem
                              sinious Most Valuable Participant

                              That's exactly what Flash Builder does. It has a checkbox that tells FB to package the ANE or to ignore it. I'm suprised CS6 doesn't have it and expect it to be patched in.

                              • 12. Re: flash cs6 native ane publish problem
                                mola2alex Level 1

                                Yeah, I agree it is likely the ANE since only one of many seem to be causing issues and it was a free one but can't seem to find a replacement for it.  I wish that option existed, sucks publishing to test small flash changes.

                                • 13. Re: flash cs6 native ane publish problem
                                  sinious Most Valuable Participant

                                  Exclude the ANE, what's the big deal? The SWC should keep you from compiling against an error unless CS6 isn't like CS5.5. CS5.5 is happy as long as the methods you use exist. It doesn't integrate with the ANE so it can't verify if those methods will work. Does CS6, or can you simply remove the ANE and test?

                                  • 14. Re: flash cs6 native ane publish problem
                                    mola2alex Level 1

                                    Removing ANE will allow it to run so while not optimal, at least it allows me to test flash stuff.  It is just not ideal as I need to constantly add / remove ANE's in the settings to test on device vs flash.  I guess it is a bit better than the CS5.5 workflow but could be better.  Even the Adobe issued Android licensing ANE won't compile so I need to remove all ANE's to test on CS6 and then add them all back again for device testing. 

                                    • 15. Re: flash cs6 native ane publish problem
                                      sinious Most Valuable Participant

                                      I hope the error can be suppressed just like you. Unfortunately Adobe has provided a way to do it and it's creating the ANE properly to support all architectures, even if you "fake it" on architectures you don't support.

                                       

                                      Here's to hoping for the future for easy design testing..