airnativeextensions
  •  Extensions
    • All Extensions
    • Packages
    • Frameworks
    • Adobe AIR
    • Unity
    • Categories
    • Device Hardware
    • Free
    • Media
    • Native Services
    • Native UI Components
    • Open Source
    • SDKs
  • News
  • Showcase
  • Support
    • Documentation
    • Developer docs
    • Tutorials
    • FAQs
    • Contact
    • Contact Us
  • Login

Frequently Asked Questions

Knowledge Base

The following are questions that are asked quite often when developing with native extensions. They aren't applicable to any extension in particular but are about using our support system or using native extensions in general. For specific tutorials and information on a native extension see the dedicated page for the native extension.


I need a SWC file, how do I get it?

In most cases you shouldn't need to use a SWC file, the ANE should contain all the information for the platform packaging. However there are some cases in which you need to have a SWC as a placeholder, for example, when developing in Flash CS5.5.

We have started including a SWC in the github repository however if you have access to an ANE file you can extract the SWC using the following method.

The SWC you will use is actually contained in the ANE. In order to acquire the SWC you'll need to perform a few steps to the ANE. The ANE is just a zip package, so firstly unzip the file.

  • You may need to rename the ANE to have a zip extension

unzip com.distriqt.EXTENSION.ane

You should then have the following:

META-INF
catalog.xml
library.swf
mimetype

The SWC you'll need is in the default library:

META-INF/ANE/default/distriqt.extension.EXTENSION.default.swc

This SWC is the default implementation of the extension. It generally contains no functionality and just placeholder functions for the ANE.

/faq/1

ld: unknown option

When packaging an iOS AIR application you may encounter the following error:

Error occurred while packaging the application:
ld: unknown option: -ios_version_min
Compilation failed while executing: ld64

As in the following screenshot:

This error simply indicates that the native extension you are attempting to package requires some features from the iOS SDK or a version greater than the one you are currently using. To remedy this, make sure you are using a recent version of the iOS SDK and correctly including it in your packaging options.

/faq/2

ld: warning

When compiling an iOS AIR mobile application you may encounter errors of the following:

ld: warning: ARM function not 4-byte aligned

These are just optimisation warnings and will not directly affect the operation of the application. You are safe to ignore them.

/faq/3

ld: framework not found ...

A very common error you'll come across is the one shown below, a linker error:

ld: framework not found ... 
Compilation failed while executing : ld64

The error is simply telling you that the native extension uses some functionality of the phone that is not found in the default SDK that AIR uses to compile against. To resolve this issue you must add in the iOS SDK path into the build packaging options of the iOS platform. Firstly you'll need to acquire the iOS SDK by going to the Apple developer site and downloading xcode.

Then in FlashBuilder you can specify the path in the Apple iOS build packaging options, as below.


If you are using adt to compile (which you'll need to use if you are using Windows) you'll need to specify the platformsdk argument:

adt -package -target ipa-app-store \ 
		-provisioning-profile ./myProfile.mobileprovision \ 
		-storetype pkcs12 -keystore ./Certificates.p12 \
		-storepass XXX  \
		myApp.ipa myApp-app.xml Main.swf \
		-extdir ext/ \
		-platformsdk /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/
/faq/4

Error: The native extension context could not be created

Error: The native extension context could not be created
    at com.distriqt.extension.vibration::Vibration()[/Users/marchbold/work/distriqt/svn/lib/extensions/vibration/trunk/actionscript/src/com/distriqt/extension/vibration/Vibration.as:65]
    at com.distriqt.extension.vibration::Vibration$/createInstance()[/Users/marchbold/work/distriqt/svn/lib/extensions/vibration/trunk/actionscript/src/com/distriqt/extension/vibration/Vibration.as:110]
    at com.distriqt.extension.vibration::Vibration$/get isSupported()[/Users/marchbold/work/distriqt/svn/lib/extensions/vibration/trunk/actionscript/src/com/distriqt/extension/vibration/Vibration.as:136]

If you receive an error such as the one above, then most likely the extension has been included but not packaged with your application. You'll need to double check the project settings:

Actionscript Build Packaging / [Platform] / Native Extensions / make sure the extension is checked

See the last step in the following tutorial for more information: here

/faq/5

404 error when accessing repository?

If you have purchased the extension and you are getting a 404 error when browsing to the repository you may have to accept an invitation to our GitHub organisation. This is a step required by GitHub before we can give you access to the private repositories.

Either check your GitHub email address for an invitation or browse to:

http://github.com/distriqt

and accept the invitation.

/faq/7

What does your purchase give you?

When you purchase one of our extensions this entitles you to use the current version of the extension and a year of support and updates. Once the year ends, automatic renewals for another year of support and updates are offered at a discount.

There is no limit to the number of applications you can develop using the extensions.

You can at anytime stop the renewals and you will have access to updates and support until the end expiry date listed on your extensions page. Cancelling updates and support will in no way affect any applications you have developed, however if you later wish to get access to updates and support you will need to purchase the extension again.

When you purchase an extension you will be given access to a private GitHub repository that contains the latest version and all history logs for the extension. You can use this repository to ask questions and report issues concerning the extensions. If your subscription expires you will no longer have access to this repository.

/faq/8

What is an 'Application' or an 'Application Key'?

Application keys are being removed from all our ANEs and will no longer be used in any of our extensions. This is left only for reference for older versions of the ANEs.

In order to use an extension you will need to create an Application Key and pass this key into the Extension.init( APP_KEY ) call of the extension. This should only be called once.

Application keys are linked to an Application ID and can only be used in the application that has an identical ID. If you add a new extension you must recreate the application key for that application.

The application keys are a form of anti-piracy that we introduced several years ago and are currently phasing out. 

The extensions do not contact our servers to verify application keys. The keys will never expire and we cannot cancel them (nor do we want to). Your application keys will never stop working once created.

To clarify, the yearly subscription cost is for access to updates and support and is in no way tied to your usage of the extensions. We want you to be able to use the extensions forever.

/faq/9

Error: Your key was not able to be verified for the * native extension

This occurs in several situations all of which are related to the key being incorrect.

If you are attempting to use an extension that wasn't part of your license when the key was generated then you'll need to regenerate the key. Application keys are only valid for the keys that you had access to when the key is created.

Make sure the application ID that you use to generate the key exactly matches the one in your application descriptor. Note that some IDE's append '.debug' to the end of the debugging application id and you may need to account for this.

If you were a customer before make sure you are not using your old developer key. These will not work in the new extensions, you have to generate an application key.

Things to do:

  • regenerate the key making sure that the application id matches exactly
  • check that the extension you are using is in the list of extensions that the key will be valid for (at the bottom of the create key form)
  • check that you are copying the key in it's entirety and that there are no spaces or carriage returns
/faq/10

Access the Device Logs

Getting access to the device logs often yields additional information when attempting to isolate an issue with an ANE. We may sometimes ask for you to provide these logs in order for us to debug an issue or isolate a problem.


See the tutorial located here for details on accessing the device logs.

/faq/11

airnativeextensions.com copyright © 2017

distriqt

terms & conditions privacy license