native extension iOS - cannot package app

I'm trying to integrate the SDK MixPanel as native extension of our project. I can compile the. ANE fine, but when I try to package my application I get the following error:

Undefined symbols of armv7 architecture: utf8_nextCharSafeBody, referenced from: libPods - MixPanel.a (MPVWebSocket.o) _validate_dispatch_data_partial_string

the library is open source, heres this file:

mixpanel-iphone/MPWebSocket.m to master · mixpanel/mixpanel-iphone · GitHub

The definition of this function comes from this import:

#import < unicode/utf8.h >

which comes from the usr/include-> unicode-> utf8.h according to XCode.

How can I include this file? Do I need to include it at all?

My platform.xml looks like this:

< platform xmlns " ="http://ns.adobe.com/air/extension/15.0"" " >

< sdkVersion >6.0< /sdkVersion>

< linkerOptions >

< option >- ios_version_min 6.0< /option>

< option >- frame Accelerate< /option>

< option >- setting CoreTelephony< /option>

< option >- Framework security< /option>

</ linkerOptions >

</ platform >

I just found what was wrong, I needed to add the unicode as a dynamic library lib to my project of LinkerOptions:

Tags: Adobe AIR

Similar Questions

  • Cannot package App when upgrade webworks 1.0.2.9

    I could package app within the ripple with webworks 1.0.0.17, but failed for packing when upgrade to 1.0.2.9.

    Got the msg of error as below. I hope someone can help. Thank you.

    I use win7 64 bit, installed 1.6e 64-bit java, ripple v0.9.10.

    Because of Java veriosn?

    =====================

    departures:
    C:\Users\feng75\AppData\Local\Google\Chrome\User Data\Default\Extensions\cnijnna
    imeaacneklcndcafbnkeicckh\0.9.10_1\services\node\node_modules\rbd>"C:\Program Fi
    les\Research in Motion\BlackBerry 10 1.0.2.9\dependencies\node\node WebWorks SDK
    .exe""C:\Program research in Motion\BlackBerry 10 SDK WebWorks 1.0.2.9\li
    b\bbwp.js' 'C:\BBProj\output/iLoveCook.zip' o 'C:\BBProj\output' d

    2012-10-09 17:05:26 GET/ripple/build_status/3993 200
    2012-10-09 17:05:27 GET/ripple/build_status/3993 200
    2012-10-09 17:05:27 GET/ripple/build_status/3993 200
    2012-10-09 17:05:28 GET/ripple/build_status/3993 200
    2012-10-09 17:05:28 GET/ripple/build_status/3993 200
    2012-10-09 17:05:29 GET/ripple/build_status/3993 200
    2012-10-09 17:05:29 GET/ripple/build_status/3993 200
    2012-10-09 17:05:30 GET/ripple/build_status/3993 200
    out: source application Populating [INFO]

    2012-10-09 17:05:30 GET/ripple/build_status/3993 200
    2012-10-09 17:05:31 GET/ripple/build_status/3993 200
    2012-10-09 17:05:31 GET/ripple/build_status/3993 200
    2012-10-09 17:05:32 GET/ripple/build_status/3993 200
    2012-10-09 17:05:32 GET/ripple/build_status/3993 200
    2012-10-09 17:05:33 GET/ripple/build_status/3993 200
    2012-10-09 17:05:33 GET/ripple/build_status/3993 200
    2012-10-09 17:05:34 GET/ripple/build_status/3993 200
    2012-10-09 17:05:34 GET/ripple/build_status/3993 200
    2012-10-09 17:05:35 GET/ripple/build_status/3993 200
    out: [INFO] Parsing config.xml

    out: [WARN] build ID defined in the file config.xml [version], but the signature key file was not
    t found: author.p12

    out: [WARNING] build ID defined in the file config.xml [version], but no signature password was
    provided [-g]. Bar will be unsigned

    out: [WARNING] can't find the feature with id: blackberry.message.sms

    out: [WARNING] can't find the feature with id: blackberry.ui.menu

    out: [WARNING] can't find the feature with id: blackberry.system.event

    out: [WARNING] can't find the feature with id: blackberry.app.event

    out: build output files [INFO]

    out: [WARNING] can't find the debugging token

    2012-10-09 17:05:35 GET/ripple/build_status/3993 200
    2012-10-09 17:05:36 GET/ripple/build_status/3993 200
    2012-10-09 17:05:36 GET/ripple/build_status/3993 200
    2012-10-09 17:05:37 GET/ripple/build_status/3993 200
    2012-10-09 17:05:37 GET/ripple/build_status/3993 200
    2012-10-09 17:05:38 GET/ripple/build_status/3993 200
    out: [ERROR] java.lang.UnsupportedClassVersionError: com, qnx, bbt, nativepackage
    r/BarNativePackager (unsupported major.minor version 50.0)

    out: [INFO] at java.lang.ClassLoader.defineClass0 (Native Method) at java.
    lang. As ClassLoader.defineClass (unknown Source) at the java.security.SecureClassLoad
    er.defineClass (unknown Source) at java.net.URLClassLoader.defineClass (unknown S
    ource) to $100 (unknown Source) at the java.net.URLC java.net.URLClassLoader.access
    lassLoader$ 1.run (unknown Source) at the java.security.AccessController.doPriv
    inhabitants (Native method) at java.net.URLClassLoader.findClass (unknown Source)
    at java.lang.ClassLoader.loadClass (unknown Source) at the Sun.misc.Launcher$appclassloader$ App
    ClassLoader.loadClass (unknown Source) at java.lang.ClassLoader.loadClass (exercise
    WN Source)

    out: [INFO] at java.lang.ClassLoader.loadClassInternal (unknown Source)

    2012-10-09 17:05:38 GET/ripple/build_status/3993 200
    out: [INFO] Exception in thread "main".

    out: [ERROR] Native package exception has occurred

    2012-10-09 17:05:39 GET/ripple/build_status/3993 200
    out: [WARNING] can't find the debugging token

    2012-10-09 17:05:39 GET/ripple/build_status/3993 200
    out: [ERROR] java.lang.UnsupportedClassVersionError: com, qnx, bbt, nativepackage
    r/BarNativePackager (unsupported major.minor version 50.0)

    out: [INFO] at java.lang.ClassLoader.defineClass0 (Native Method) at java.
    lang. As ClassLoader.defineClass (unknown Source)

    out: [INFO] at java.security.SecureClassLoader.defineClass (unknown Source)
    at java.net.URLClassLoader.defineClass (unknown Source) at the java.net.URLClassLoad
    St. $100 (unknown Source) at the java.net.URLClassLoader access$ 1.run (Unknown Source)
    at java.security.AccessController.doPrivileged (Native Method) at java.
    NET. URLClassLoader.findClass (unknown Source) at the java.lang.ClassLoader.loadCla
    SS (unknown Source) at the Sun.misc.Launcher$appclassloader$ AppClassLoader.loadClass (Unknown So
    extended) at java.lang.ClassLoader.loadClass (unknown Source) at the java.lang.Cla
    ssLoader.loadClassInternal (unknown Source)

    out: [INFO] Exception in thread "main".

    out: [ERROR] Native package exception has occurred

    2012-10-09 17:05:40 GET/ripple/build_status/3993 200
    Built
    error response - {"code": 1, "msg": "[ERROR] java.lang.UnsupportedClassVersionErr}
    or: com/qnx/bbt/nativepackager/BarNativePackager (unsupported major.minor versio
    50.0 n) \n [INFO] java.lang.ClassLoader.defineClass0 (Native Method) \tat ja \tat
    java.security.SecureClassLoa \tat va.lang.ClassLoader.defineClass (unknown Source)
    der.defineClass (unknown Source) \tat java.net.URLClassLoader.defineClass (unknown
    (Source), $100 (unknown Source) java.net.URLClassLoader.access \tat \tat java.net.URLC
    java.security.AccessController.doPrivileged \tat lassLoader$ 1.run (unknown Source)
    (Native Method), java.net.URLClassLoader.findClass (unknown Source) \tat \tat java.l
    Ang. Sun.misc.Launcher$appclassloader$ AppClassLoader.l \tat ClassLoader.loadClass (unknown Source)
    oadClass (unknown Source) \tat java.lang.ClassLoader.loadClass (unknown Source) \n [I
    NFO] \tat java.lang.ClassLoader.loadClassInternal (unknown Source) \n [INFO]
    [' Exception in thread Buda "occurred\n \n[ERROR] exception Native Packer [WA
    RN] could not find debugging token\n [ERROR] java.lang.UnsupportedClassVersionEr
    MMR: com/qnx/bbt/nativepackager/BarNativePackager (unsupported major.minor version
    on 50.0) \n [INFO] \tat java.lang.ClassLoader.defineClass0 (Native Method) \tat j
    ava.lang.ClassLoader.defineClass (unknown Source) \n [INFO] \tat java.security.S
    java.net.URLClassLoader.defineC \tat ecureClassLoader.defineClass (unknown Source)
    Lass (unknown Source) \tat java.net.URLClassLoader.access$ 100 (unknown Source) \tat
    java.security.AccessController java.net.URLClassLoader \tat $1.run (unknown Source)
    .doPrivileged (native Method) \tat java.net.URLClassLoader.findClass (unknown source
    (e) \tat java.lang.ClassLoader.loadClass (unknown Source) \tat Sun.misc.Launcher$appclassloader$ App
    ClassLoader.loadClass (unknown Source) \tat java.lang.ClassLoader.loadClass (Unknow
    Source n) \tat java.lang.ClassLoader.loadClassInternal (unknown Source) \n [INFO]
    Exception in thread Buda ' \n[ERROR] occurred\n exception Native packer. "
    {'data': null}
    2012-10-09 17:05:40 GET/ripple/build_status/3993 200

    ==================

    solved. updated JRE 1.6 (win32) then fine.

  • generation of native extension iOS fails to "Undefined symbols for armv7 architecture."

    I'm going to build a set of native extensions for iOS with 3.4 Air, but when I try to compile a test whose DONKEY actionscript project I get the following error:

    For architecture armv7 httpd Undefined symbols:

    "_null", referenced from:

    _g_com_adobe_air_fre_fmap in extensionglue.o

    (maybe you meant: _sqlite3_bind_null, __ZN7avmplus20BitmapDataJPEGWriter14jpeg_null_charEP18jpeg_common_structPc, __ZN7CString16s_nullTerminatorE, __ZN7avmplus7AvmCore24decrementAtomRegion_nullEPii, _null_name, __ZN7avmplus20BitmapDataJPEGWriter9jpeg_nullEP18jpeg_common_struct, _sqlite3_result_null, __ZN7UString16s_nullTerminatorE, _null_name1)

    LD: symbol not found armv7 architecture

    Compilation failed during execution: ld64

    My DONKEY is targeting iOS 5.1, and I forced Xcode to build the static library for armv7 (setting 'Valid Architectures' to 'armv7' and 'Building only of Active Architecture' to 'Yes')

    Tried to use Flash Builder 4.6 and 4.7 Beta with the same results.

    Does anyone have advice on build parameters for ENA in Xcode, or have experienced this problem before? See you soon.

    Hello

    We were able to understand the question and it will be fixed in the next version.

    For now, a possible workaround is to systematically use the finalizer function in the DONKEY. For example, the following steps should be followed:

    (1) in the native code to ANE, a new function, with the signing of FREFinalizer() must be written. Refer to http://help.adobe.com/en_US/air/extensions/WSb464b1207c184b14-53a8419b 129382b 5758 - 8000.html for the prototype. It could contain also a minimal code or simply a return statement. for example.

    Sub minimalFinalizerFunction(void * extData)

    {

    return;

    }

    (2) in the extension.xml, include this line after the tag:

    minimalFinalizerFunction

    (3) repackage your ALBUM using the new .to and extension.xml.

  • Cannot submit with custom native extension's iOS app

    We worked on the construction of our first DONKEY custom - the work of great native extension, but when I submit to the iOS app store he gets rejected with the error: -.

    Invalid signature - make sure you have signed your application with a certificate of distribution, not an ad hoc certificate or certificate of development. Verify that code in Xcode signing settings are correct at the target level (which cancels all values to the project level). If you are certain that your code signing settings are correct, click on "Clean" in Xcode, delete the 'build' directory in the Finder and rebuild your output target.

    When I remove the extension, the app does not get rejected, so I don't know that this is not the certificate that we use to publish the application itself.  We tried to sign the DONKEY with a self-signed certificate, or not to sign the DONKEY at all (as apparently signing DONKEY is optional).  In both cases if we submit the application with the ENA, he gets rejected with the error above.

    Can anyone offer any suggestions?

    How you create your native library, at a guess, I'd say you something messed up in the settings of Xcode. Have you created a static lib?

  • A few native extensions cannot be packed.

    Currently we have trouble with packaging API with adobe air 16. (16.0.0.272)

    The nature of the problem is almost exactly the same with this:undefined symbols of architecture armv7 (AIR 16)

    Everything goes very well with 15 AIR but fails native extension, connects causing problem.

    e0635c7febbe515522515941ec25b3bb.png

    Although we have identified that a native extensions caused this evil, we cannot do just something that we don't have access to the source code of it.

    We asked the author of the extension in support of 16 AIR, but said it wasn't their problem.

    Since the AIR 16 is a must for iOS release, demotion or 15 isn't an option... is there a way around this problem?

    I didn't know that I was using an old DONKEY file. When you use the last DONKEY file that supports 64-bit AIR for iOS apps that worked like a charm.

    I think that it is the responsibility of the developers of 3rd party DONKEY to provide an update for supported 64-bit and support SDK AIR 16.0.

    If the author says it isn't their problem they are not taking care of their responsibilities as developer ANE 3rd part.

  • Using OpenCV inside a Native Extension from Adobe for IOS

    I try to use OpenCV.framework within a Native Adobe Extension that I have developed for use on an IOS app in Flex.

    The problem is that I get errors when applying for packaging:

    For architecture armv7 httpd Undefined symbols:

    "__ZNKSt3__120__vector_base_commonILb1EE20__throw_length_errorEv", referenced from:

    __ZNSt3__16vectorIiNS_9allocatorIiEEE8__appendEm in opencv2 (smooth.o)

    __ZNSt3__16vectorIN2cv6Point_IiEENS_9allocatorIS3_EEE21__push_back_slow_pathIKS3_EEvRT_ in opencv2 (hough.o)

    __ZNSt3__16vectorIN2cv3VecIiLi128EEENS_9allocatorIS3_EEE8__appendEm in opencv2 (matrix.o)

    __ZNSt3__16vectorIN2cv3VecIiLi64EEENS_9allocatorIS3_EEE8__appendEm in opencv2 (matrix.o)

    __ZNSt3__16vectorIN2cv3VecIiLi32EEENS_9allocatorIS3_EEE8__appendEm in opencv2 (matrix.o)

    __ZNSt3__16vectorIN2cv3VecIiLi16EEENS_9allocatorIS3_EEE8__appendEm in opencv2 (matrix.o)

    __ZNSt3__16vectorIN2cv3VecIiLi12EEENS_9allocatorIS3_EEE8__appendEm in opencv2 (matrix.o)

    ...

    LD: symbol not found armv7 architecture

    Compilation failed during execution: ld64

    and it's the platformoptions.xml that I use to compile the DONKEY:

    " < platform xmlns =" http://ns.Adobe.com/air/extension/4.0 ">

    < > 8.0 sdkVersion < / sdkVersion >

    < linkerOptions >

    < option > - framework opencv2 < / option >

    < option > - frame UIKit < / option >

    < option > - framework Foundation < / option >

    < option > - frame CoreGraphics < / option >

    < option > - frame Accelerate < / option >

    < option > - framework AssetsLibrary < / option >

    < option > - frame AVFoundation < / option >

    < option > - frame CoreImage < / option >

    < option > - frame CoreMedia < / option >

    < option > - frame CoreVideo < / option >

    < option > - QuartzCore framework < / option >

    < / linkerOptions >

    < / platform >

    Any idea?

    Problem solved. I added this line

    
    

    to the platformOptions.xml.

    OpenCV now works very well in my native extension of actionscript.

  • Several IOS native extensions

    Hello world

    OK, I'm trying to compile an IOS app in the AIR and I have to use 2 different native extension.

    I use ANT to run the ADT command line, but I got an error message which seems to happen to anyone!

    The console just say : file name conflict: unpack/catalog.xml

    I said the extdir - twice because I have use the subfolder for each NativeExtension.


    ANT look like this:

    < target name = "ipa" >

    "< executable="${sdk.air}/bin/adt exec "failonerror ="true">

    < arg = value "-package" / >

    < arg = value "-target" / >

    < value arg = "ipa-debug-interpreter" / >

    < value arg = "profile - configuration -" / >

    < value = "${provision.wildcard}" / arg >

    < arg = value "-shops" / >

    < value arg = "pkcs12" / >

    < arg = value "-keystore" / >

    < value = "${keystore.file}" / arg >

    < arg = value "-storepass" / >

    < value = "${keystore.password}" / arg >

    "< arg value ="... /${Project.Name}.ipa"/ >

    < arg value="${project.name}-app.xml"/ >

    < arg = value "-extdir" / >

    < value = "${extension.camera}" / arg >

    < arg = value "-extdir" / >

    < value = "${extension.p2p}" / arg >

    < arg value="${project.name}.swf"/ >

    < arg = value "-platformsdk" / >

    < value = "${sdk.ios}" / arg >

    < / exec >

    < / target >

    I think it's because ADT unpack and move stuff in the same directory. Does anyone have an idea for me?

    Thank you!

    Hi Yannick,

    ANEs both contain a file called catalog.xml. SICE resources are copied to the upper level of the final API package the second catalog.xml can be fully copied it causes the problem. If donkeys both depend on this file and wait for the content of the file is different, and then deleting one would lead to errors of execution. However, if you know that the content of catalog.xml is the same in the two donkeys or that the code is not this file being present (included by mistake?), you can remove the file from one of the ENA. Just unzip the DONKEY, delete the file and create the package using adt again.

    ~ joelle

  • Try to use the library IOS Mixepanel in Native Extension using CocoaPods

    Hello

    I am trying to register the library of Mixpanel IOS (iOS Mixpanel API Overview) in a Native Extension and in their documentation that it suggests to install it in your IOS using CocoaPods project. When I do that, CocoaPods creates a library file (libPods.a) that says that Xcode "is not a file object and cannot be included in a library project.

    Thus, there is a library file which cannot be included in a library project, if I understand correctly.

    Is it possible to create a DONKEY component IOS is not a library project? Or is it possible to use the file platformoptions.xml to include this additional library file? How to set the path to this file so it is?

    -Steve Warren

    Try this. Add the following in the platformoptions xml file:

    libPods.a

    Add libPods.a to the adt command, so it is included in the donkey as well as the other file to the library.

  • Any good native extensions for iOS yet?

    Hello

    I wonder if there is any native extensions that can be used around again for the features of iOS?

    I've found these: http://www.adobe.com/devnet/air/native-extensions-for-air.html which seems to be especially tech-demos (battery, network info etc.). I thought at least in-app-purchases, support Game Center, IAD, alertbox etc. should have been released now?

    Since I have no knowledge in objective-c, I can't do it myself, but I'd be happy to pay for DONKEY - files that can be used in real projects.

    / Karl

    to the original question - I had extensions for iOS Game Center and AdMob Android (commercial) -.

    AdMob Android for Adobe AIR extension

    iOS Game Center Extension for AIR

    I would like to know what you think would be cool!

  • Air for Android 16.0 - cannot use the native extension that include android-support-v4 - ClassNotFoundException

    Hello

    This is my first question here, and I really need help on this problem. We are been struggling for a few days on the following error message: C

    05-12 17:35:29.321: E/AndroidRuntime (26531): FATAL error: IntentService [MCGcmIntentService]

    05-12 17:35:29.321: E/AndroidRuntime (26531): process: air.com.mooncat.androidTest, PID: 26531

    05-12 17:35:29.321: E/AndroidRuntime (26531): java.lang.NoClassDefFoundError: doesn't have a resolution of: generator Landroid/support/v4/app/NotificationCompat$;

    05-12 17:35:29.321: E/AndroidRuntime (26531): to com.mooncat.MCGooglePlayServices.MCGcmIntentService.sendNotification (MCGcmIntentService.j ava: 92)

    05-12 17:35:29.321: E/AndroidRuntime (26531): to com.mooncat.MCGooglePlayServices.MCGcmIntentService.onHandleIntent (MCGcmIntentService.jav one: 48)

    05-12 17:35:29.321: E/AndroidRuntime (26531): to android.app.IntentService$ ServiceHandler.handleMessage (IntentService.java:65)

    05-12 17:35:29.321: E/AndroidRuntime (26531): at android.os.Handler.dispatchMessage(Handler.java:102)

    05-12 17:35:29.321: E/AndroidRuntime (26531): at android.os.Looper.loop(Looper.java:145)

    05-12 17:35:29.321: E/AndroidRuntime (26531): at android.os.HandlerThread.run(HandlerThread.java:61)

    05-12 17:35:29.321: E/AndroidRuntime (26531): caused by: java.lang.ClassNotFoundException: did not find class ' android.support.v4.app.NotificationCompat$ Builder " on the path: DexPathList [[zip file ' /data/app/air.com.mooncat.androidTest-1/base.apk"],nativeLibraryDirectories=[/data/app/a ir.com.mooncat.androidTest-1/lib/arm, / vendor/lib, / system/lib ']]

    05-12 17:35:29.321: E/AndroidRuntime (26531): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)

    05-12 17:35:29.321: E/AndroidRuntime (26531): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)

    05-12 17:35:29.321: E/AndroidRuntime (26531): at java.lang.ClassLoader.loadClass(ClassLoader.java:469)

    05-12 17:35:29.321: E/AndroidRuntime (26531):... 6 more

    05-12 17:35:29.321: E/AndroidRuntime (26531): deleted: java.lang.ClassNotFoundException: android.support.v4.app.NotificationCompat$ Builder

    05-12 17:35:29.321: E/AndroidRuntime (26531): at java.lang.Class.classForName (Native Method)

    05-12 17:35:29.321: E/AndroidRuntime (26531): at java.lang.BootClassLoader.findClass(ClassLoader.java:781)

    05-12 17:35:29.321: E/AndroidRuntime (26531): at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)

    05-12 17:35:29.321: E/AndroidRuntime (26531): at java.lang.ClassLoader.loadClass(ClassLoader.java:504)

    05-12 17:35:29.321: E/AndroidRuntime (26531):... 7 more

    05-12 17:35:29.321: E/AndroidRuntime (26531): caused by: java.lang.NoClassDefFoundError: class not found using the charger to start class; no batteries available

    My Native Extension use Google Services play and rely on support android v4. Google services functions perfectly works play (for example: I am able to save the token with the google cloud features).

    I've seen this problem in another thread in github and seems that they solve it, but it does not fit my case. It's like in the publication of flash support android v4 is "removed". I say this because I tried to decompile the generated apk and I discovered that sources exist (like com / / thing, com, google, android, gms /...) BUT not the android/support/v4 /... On the contrary, seems that the apk build contains only the android/support/v7/appcompat/R.java (.java because is decompiled). In the .ane file, I have the Android - support.v4.jar and also the contents of platform.xml to/META-INF/ANE/Android-ARM. In the platform.xml I have this:

    <? XML version = "1.0" encoding = "utf-8"? >

    " < platform xmlns =" http://ns.Adobe.com/air/extension/4.0 ">

    < packagedDependencies >

    < packagedDependency >android-support - v4.jar< / packagedDependency >

    < packagedDependency >google-game - services.jar< / packagedDependency >

    < / packagedDependencies >

    < packagedResources >

    < packagedResource >

    com.Google.Android.GMS < packageName > < / packageName >

    < folder_name > google-game-services-res < / FolderName >

    < / packagedResource >

    < / packagedResources >

    < / platform >


    In the eclipse project, I tried to register the library of v4 support in all possible ways, such as addiction, external jar, or kept as a defult library in the libs folder. Nothing works...


    I really can't understand hot to fix this crazy...

    I just discover the problem... just crazy!

    It was caused by the version of android.support.v4.jar. I did a test now, for some reason any magic, using one I had before (I got it, in Eclipse, with a right click on the library project, Android tools > add Media Library, it was not recognized). Then, I tried with the other two different versions of android.support.v4.jar, and this solved the problem as if by magic! Just to say, using the method add the support library, the size of the file android.support.v4 was 1.2 MB, the other two versions were respectively 759 KB and 628 kb, according to their version. I expected that this library has been correctly added by eclipse, also relying on the target of androd in the project.properties, but does not appear. Hope this might help someone.

    PS: like all the other thread suggest, don't forget that the android.support.v4.jar is included in your DONKEY file, and the platform.xml explicitly declare it as .

  • Native extension package creating problem

    In an effort to learn how to create a native extension on my own, I looked at the examples and the Adobe Help documentation. I actually created the files required for the extension (the native code, the extension, the library swc and library.swf descriptor). However, when I run the command to create the .ane file I get this error:

    /Users/Dalston/TeamAGC/SDK/4.6.0/bin/ADT-Paquet - target ane... extension.xml - CFC DeviceInfoExtension.swc - iPhone-ARM library.swf libDeviceInfo.a platform /Release/DeviceInfoExtension.ane

    output file is not writable

    I also tried a variation of this command that results in the same error (which comes directly from the Adobe Help documentation):

    /Users/Dalston/TeamAGC/SDK/4.6.0/bin/ADT-Paquet - target ane... /Release/DeviceInfoExtension.ane extension.xml - CFC DeviceInfoExtension.swc - iPhone-ARM platform - C platform/ios. -default platform - C platform library.swf / default

    output file is not writable

    I'm not sure what I am doing wrong here. Anyone had this problem before? Thank you in advance for your help!

    I'm very late to this topic, but I would like to change... /Release/DeviceInfoExtension.ane to all DeviceInfoExtension.ane

  • iOS 10 cannot delete apps from the iPad 2

    Cannot delete apps in the usual way. Is there a software patch or other procedure?

    What happens when you try? Have what troubleshooting you tried? Have you checked to see if you have enabled Restrictions that would prevent you from remove apps? What app in particular you are trying to delete?

  • Problems of creating a Native Extension, referring to a static library

    Hello

    I am trying to create my own Extension Native for iOs using another static library.

    My problem occurs when I try to pack my application with ADT: after a lot of "ld WARNING: unexpected srelocation type 9", I get a final error: "ld: inch bl/blx out of reach (max-4468380 is + / 4 M).

    This may be caused by the fact that the static library, I use needs CCG affecting "compile for thumb" turns off. I did this in XCode to get my file has to generate my .ane, but how could I tell ADT to take into account?

    Thank you very much for your help!

    You are compiling for ARMv6 and ARMv7?

    With armv7, you don't need to turn off the "compile for thumb" anyway.

    Also, I assume you are using a greater than 4.3 iOS version to compile your native library. In this case, using platformsdk - adt switch, while the packaging of your app could solve just of your question. (You will see some warnings 4-byte alignment ld, but it's ok)

    Neha-

  • Can someone tell me what I'm doing wrong when you create a native extension for iPad? (Very detailed)

    My company is developing a game for iPhone and iPad using Flash cs5.5 and Air3.0

    The customer requires that certain features be supported - these things as GameCenter, rating, etc... which none are currently supported by flash for the iOS.

    However, they provide us with a bunch of xCode example files on how they want things to work.

    My idea was to bridge the gap in functionality by creating a native extension using the xcode source that was given to me, giving me the required functionality.

    But first, I need to truly CREATE a native extension, even just a base echo/hello everyone... I followed all the steps of various guides and tutorials and I have managed to create an ipa and put it on my iPad 2 to test, but when the program starts, nothing happens, I find myself with a black screen. When I comment on the lines of code that initialize the extension, it fires just fine.

    (and Yes, I even tried to put things in try blocks where there was a mistake - no luck)

    So I hope that someone can read through the process of what I do below and point out what I am doing wrong, or what Miss me.

    What I use:

    Mini Mac running OS x 10.7.2 - this is used to run xCode 4.1 build 4B 110

    PC - Windows 7 home 64 bit - running Flash CS5.5 (version 11.5.1.3469) with the 3.0 SDK inside AIR. I also have the sdk 3.0 air in a separate file for the command-line running. (This is my primary development platform)

    The PC has flash builder installed, but I've never really used it, and I don't know how to use it... everything that has been built to date has been done using Flash CS5.5

    So, here's what I did.

    The first thing we do is to create a library static .a on mac.

    I open xcode and create a new project.

    • Select iOS framework and library, then select "Cocoa touch static library.
    • Give it a name, in this case "EchoExtension" and put it in a folder.
    • I then delete the file EchoExtension.h as all the samples I've seen so far do not use.
    • I then add 'FlashRuntimeExtension.h' to the project of the AIR3.0 sdk frameworks folder on my PC
    • I remove everything in my folder ".m", and then, next to several different examples and tutorials, type the following code:

    //

    EchoExtension.m

    EchoExtension

    //

    #include "FlashRuntimeExtensions.h".

    Echo FREObject (FREContext ctx, void * funcData, uint32_t argc, {FREObject argv)

    return argv [0];

    }

    //----------- Extention intializer and finalizer ----------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------ -

    A native context instance is created

    void ContextInitializer (void * extData, const uint8_t * ctxType, FREContext ctx, uint32_t * numFunctionsToTest, const FRENamedFunction * functionsToSet) {}

    Configure the number of functions in this extention

    for ease of reference, set the number of function that will use this extension.

    int FunctionCount = 1;

    set the number of function pointer reference that will use this extention.

    * numFunctionsToTest = FunctionCount;

    create an array to store all the functions that we will use.

    FRENamedFunction * func = (FRENamedFunction *) malloc (sizeof (FRENamedFunction) * FunctionCount);

    create a table for each function entry

    Func [0] .name = (const uint8_t *) "echo"; the name of the function

    Func [0] .functionData = NULL;                    the data type

    Func [0] .function = & echo;             the reference to the real function

    Save the array to a pointer.

    * functionsToSet = func;

    }

    A native context instance is deleted

    void ContextFinalizer (FREContext ctx) {}

    return;

    }

    Initialization of each extension function

    void ExtInitializer (void * extDataToSet, ctxInitializerToSet FREContextInitializer *, FREContextFinalizer * ctxFinalizerToSet) {}

    * extDataToSet = NULL;

    * ctxInitializerToSet = & ContextInitializer;

    * ctxFinalizerToSet = & ContextFinalizer;

    }

    Called when the extension is unloaded

    void ExtFinalizer (void * extData) {}

    return;

    }

    • I'll then 'product', 'building' and it creates libEchoExtension.a
    • I'm copying this .to file on my PC.

    I am now finished with this abandoned mac of God (* shudder *)
    Back on my PC, I create a folder for my test project. For all the intentions a purposes, we will call this "D:\src\EchoExtension" then I create 2 folders, one called "lib" and one called "app". Lib, it's where I'm going to create the actionscript source for my extension.

    • In my lib folder, I create a new fla in flash cs5.5, called "EchoExtension.fla".
    • I create my lib folder, the following:
      • com\extensions\EchoExtension\EchoExtension.as
      • a folder named 'Build' in which I place my libEchoExtension.a file.
    • I have in my EchoExtension.as file, place the following code:

    package com.extensions.EchoExtension

    {

    import flash.events.EventDispatcher;

    import flash.events.IEventDispatcher;

    import flash.external.ExtensionContext;

    SerializableAttribute public class EchoExtension extends EventDispatcher

    {

    protected var _extensionContext:ExtensionContext;

    /**

    * Constructor.

    */

    public void EchoExtension()

    {

    Super();

    Initialize the extension.

    _extensionContext = ExtensionContext.createExtensionContext ("com.extensions.EchoExtension", "main");

    }

    public void echo(Prompt:String):String

    {

    Return _extensionContext.call ("echo") as String;

    }

    }

    }

    • In my main fla, on the first layer of the time line, I put just the following code to make sure that did get file included when I publish the swc.

    import com.extensions.EchoExtension.EchoExtension;

    var ext:EchoExtension = new EchoExtension();

    Stop();

    • I then opened upwards from my fla publication settings, disable the swf - which I don't need, and check the swc and ensure it generates in my generation folder.  «. "/ Build/EchoExtension.swc.
    • I also updated the player Air 3.0 (which I can do because I managed integrated AIR 3.0 along side my AIR 2.6 and can build both without any problem)
    • I then publish the swc. So far so good. No problems.
    • I then made a copy of the CFC and rename it to EchoExtension.swc.zip, how I extracted the library.swf file and place it in the folder of my generation.
    • I then create extension.xml in case of generation that contains the following code:

    " < extension xmlns =" http://ns.Adobe.com/air/extension/2.5 ">

    com.extensions.EchoExtension < id > < /ID >

    < versionNumber > 1 < / versionNumber >

    <>platforms

    < platform name 'iPhone-ARMS' = >

    < applicationDeployment >

    < nativeLibrary > libEchoExtension.a < / nativeLibrary >

    < initializer > ExtInitializer < / initializer >

    < finalizer > ExtFinalizer < / finalizer >

    < / applicationDeployment >

    < / platform >

    < / platforms >

    < / extension >

    • Now, at this point, I'm a little suspicious, because I build for the iPad2... the platform is iPhone... I thought that may be a problem and at some point I have tested the same build on the iPhone4 and had the same results. I also tested using the name of the platform of the iPad-ARM and got the same results... So I don't think that's the problem, but I'm not sure.
    • Now, to make things easier, I created a batch file called "buildane.bat" in my file generation. That's what I use to create my .ane file and it contains the following command line:

    D:\SDKs\AirSDK30\bin\adt-Paquet - target ane EchoExtension.ane extension.xml - CFC EchoExtension.swc - iPhone-ARM library.swf libEchoExtension.a platform

    • I then open a command prompt and run buildane.bat and Ottoman. My donkey is created. My generation file now has the following files in it:
        • buildane.bat
        • EchoExtension.ane
        • EchoExtension.swc
        • EchoExtension.swc.zip
        • extension. XML
        • libEchoExtension.a
        • Library.swf

    Now that I have my swc, donkey and it's time to create my sample application that will be used to test my new extension.

    • I go back to my D:\src\EchoExtension folder and go to the folder app ealier, I created.
    • I then create a new flash project called EchoExtensionTester.fla
    • I open the action script settings, paths to library and add the CFC I created in my D:\src\EchoExtension\lib\build file to my project.
    • On my stage, I create a field called text txtInput, a field of dynamic text named txtEcho, and a couple of buttons called btnClear, btnRuntime and btnEcho
    • I open the first layer of the timeline, and place the following code:

    imports of base.

    import flash.desktop.NativeApplication;

    import flash.events.MouseEvent;

    import flash.text.TextField;

    import the extension of our swc.

    import com.extensions.EchoExtension.EchoExtension;

    the value of our input text to the need the softkeyboard field

    txtInput.needsSoftKeyboard = true;

    Add event handlers to our buttons.

    btnEcho.addEventListener (MouseEvent.CLICK, btnEcho_Click);

    btnClear.addEventListener (MouseEvent.CLICK, btnClear_Click);

    btnRunTime.addEventListener (MouseEvent.CLICK, btnRunTime_Click);

    create our variable expansion.

    var ext:EchoExtension;

    Try

    {

    initialize our extension of echo.

    Ext = new EchoExtension();

    } catch (error) {}

    txtEcho.text = 'Error when trying to create new EchoExtension:\n\n' + e;

    }

    Stop();

    Delete the text echo field

    function btnClear_Click(e:MouseEvent):void

    {

    txtEcho.text = "";

    }

    just to test, put the latest version of the air runtime in our text field, so we can make sure we run air 3.0

    function btnRunTime_Click(e:MouseEvent):void

    {

    txtEcho.text += "\nRuntime version =" + NativeApplication.nativeApplication.runtimeVersion; ".

    }

    call the extension, passing all that is in the text input field and get back and place it in our text echo field

    function btnEcho_Click(e:MouseEvent):void

    {

    txtEcho.text += "\n";

    Try

    {

    txtEcho.text += ext.echo (txtInput.text);

    } catch (error) {}

    txtEcho.text += "\nError call ext.echo:"+ e;»

    }

    }

    • I save the project, Open Air for the parameters of the iOS, then perform the following settings: (Yes, I know... I'll have to use adt to perform the build, but I need to first create the swf file)
      • File: EchoExtensionTester.ipa
      • AppName: EchoExtensionTester
      • Version 1.0
      • Landscape
      • Full screen on
      • Auto orientation is disabled
      • GPU rendering
      • device: iPad and iPhone
      • RES: high
      • Deployment: I use my certificate and profile provisionging that I use for my main project (that works) and defined for the test of the device.
    • I close the window and save again... but before I publish, I opened newly created "EchoExtensionTester - app.xml" which is located in my app folder.
    • I add the extensions <>< extensionID > com.extensions.EchoExtension < / extensionID > < / extensions > to the XML in the file so now it looks like this:

    <? XML version = "1.0" encoding = "UTF-8" standalone = 'no '? >

    " < application xmlns =" http://ns.Adobe.com/air/application/3.0 ">

    <>Extensions

    < extensionID > com.extensions.EchoExtension < / extensionID >

    < / extensions >

    < id > EchoExtensionTester < /ID >

    < versionNumber > 1.0 < / versionNumber >

    < file_name > EchoExtensionTester < / name of the file >

    < description / >

    <!-to locate the description, use the following format for the description element. < description > < text XML: lang = "fr" > App English description goes here < / text > < text XML: lang = "fr" > French App description goes here < / text > < XML text: lang = "ja" > Japanese App description goes here < / text > < / description >->

    < name > EchoExtensionTester < / name >

    <!-to locate the name, use the following format for the name element. < name > < text XML: lang = "fr" > insert here the name App English < / text > < text XML: lang = "fr" > insert here the French App name < / text > < XML text: lang = "ja" > insert here the Japanese App name < / text > < / name >->

    < copyright / >

    < initialWindow >

    < content > EchoExtensionTester.swf < / content >

    standard < systemChrome > < / systemChrome >

    < clear > false < / transparent >

    < visible > true < / visible >

    true < fullscreen > < / full screen >

    landscape of < aspectRatio > < / aspectRatio >

    GPU < renderMode > < / renderMode >

    < maximizable > true < / maximizable >

    < minimizable > true < / minimizable >

    < resizable > true < / resizable >

    < autoOrients > false < / autoOrients >

    < / initialWindow >

    < icon / >

    < customUpdateUI > false < / customUpdateUI >

    < allowBrowserInvocation > false < / allowBrowserInvocation >

    < iPhone >

    < InfoAdditions >

    <! [CDATA [< key > UIDeviceFamily < / key > < table > < String > 1 < / string > < string > 2 < / string > < / array >]] >

    < / InfoAdditions >

    < requestedDisplayResolution > top < / requestedDisplayResolution >

    < / iPhone >

    < / application >

    • I save the changes to the xml file and return to Flash. I then publish.
    • The swf file is created as it should be, but then I get the error message:

    Error creating files.

    A native implementation extension 'com.extensions.EchoExtension' required by the application is not found for the target platform.

    • Now, while it is a pain in the rear, I again, this was going to happen because in my reading tutorials and samples, they have all said that you use adt to build the ipa... but that is fine... all I wanted anyway, was the swf, which I now have in my app folder.
    • I close flash because I no longer need and I create a new batch file: (Note: I have change the name of the cert, profile and password for this post)

    CLS

    "D:\SDKs\AirSDK30\bin\adt" - package - target the ipa-ad-hoc - stores pkcs12 - keystore "D:\src\mycert.p12" - storepass MYPASSWORD-putting into service-profile "D:\src\myprovfile.mobileprovision" "EchoExtensionTester.ipa" "EchoExtensionTester - app.xml" "EchoExtensionTester.swf" - extdir... / lib/Build

    Set dummy = p

    ECHO done

    • I then open a command window in my app folder and run build.bat.
    • I wait about 2 minutes...
    • ...
    • ...
    • YAY! My ipa file was created without error reported so far... Time to copy this bad boy to the iPad and see what happens.
    • I opened iTunes, drag "EchoExtensionTester.ipa" to the applications, then synchronize my device...
    • ...
    • YAY! iTunes installed ipa on the device... and there is a white icon bright and shiney for Echo Extension tester...
    • I open the app... and...
    • nothing.
    • I'm waiting for
    • still nothing.
    • I go to the bathroom.
    • I'll be back... still nothing... just a black screen.
    • I press the home button on the iPad, the app minimized, I restore it... nothing... black screen.

    management of human resources. Time to do some trial and error to see if I can figure out what the distribution.

    • As a test, I opened my fla and I comment out the following lines:
      • Ext = new EchoExtension();
      • txtEcho.text += ext.echo (txtInput.text);
    • I then rebuild the swf... get the same error (don't care)... I then rebuild the ipa using the batch file... and reinstall it on the device when it is made.
    • Exactly the same thing...
    • I opened the xml file... and remove the < extensionID > com.extensions.EchoExtension < / extensionID > line, save and re - run the batch file again... Wait for the ipa ends, then run it on the device.
    • I start the program on the iPad and it starts perfectly... with the exception of the commented line of code actually create and call the extension, everything works as it should. The runtime on the device reports as 3.0.0.4080
    • A test, I opened the .fla save and uncomment the 2 lines, I commented out above... keep the xml file extensionID, I re - publish the ipa... of course, this time, it actually creates the flash API, because the id of the extension is not in the xml file.
    • I put the file API with the extension in place on the ipad code... The fire and make the txtInput text and press the button of the echo. I get the following error:
      • Error calling ext.echo: TypeError: Error #1009
    • I suspect it's because I failed to include the extension in the descriptor... but when I build it with the extensionid in the xml file, I just get a black screen. I'm 99% sure that the context of the extension in the ext object is null (because that's what happens when I run Flash debug without extension lines in the xml)

    And here I am stuck.

    Can someone tell me what I am doing wrong or what I forgot to do?

    Thank you.

    Hi can check you if the CFC of the native extension is linked as external?

    Next image can help locate and change the link type of CFC.

    The issue that many people face here (i.e. extension works fast/interpreter mode and only when they are packed in standard mode) occurs only when the SWC of the NE is not linked externally.

    I hope this helps.

    Kind regards

    Mathyas blabla

    IOS of the AIR

  • How to include the shared library of BlackBerry in a native extension WebWorks

    I developed a native extension WebWorks that works very well on Simulator and devices when included in a webworks app.

    I also have a sample of waterfalls project with the same code base that I use to test the WebWorks extension code.

    Since a large part of the code is reusable, I decided to create a shared library of BlackBerry, so I can reuse in other projects. When I include the NEW shared library in the waterfalls and then everything works well, as before.

    When I include it in the extension WebWorks it draws very well. The .so file size was much smaller and that worried me (I suspected that the shared library was not included in there). But since its construction very well I went trying to run my application webworks. When it came to hitting the extension I got a ' need of error. Cannot find the library of blah/blah/...so'.

    I had this before and found out that it was because the dependent QT libraries have not been correctly referenced. It so that the shared library is not properly referenced/copied /-thing... This event is supported? For example, by using a custom in a WebWorks extension shared library?

    It worked

    Version 2 is almost right

    In the library paths pane Add...

    ${workspace_loc: / / extlibs/device$ {ProjName}}

    for peripheral and do Simulator

    ${workspace_loc: / / extlibs/Simulator of ${ProjName}}

    Always with libname in libraries

    I just linked to unrar successfully like this library

    Whew - they do this hard work of stuff

Maybe you are looking for