AIR3 (iOS) - Native Extension (objectiveC) - control Acrobat PDF API

In my iPad app, I want to load in a PDF and then get control of the Acrobat API to allow the user to interact with the PDF as they see fit.
Is this possible?
I am making the assumption that there is currently objectiveC code available to use the Acrobat API on the iOS. Can anyone verify?
I am also making the assumption that through Native Extension I can bridge to this objevtiveC code from AS3 on the iOS. Can anyone please verify?
Thanks...

Yes. The ability to word search and jump to a specific page.
Bringing up a PDF in iOS browser or through StageWebView you cannot perform these actions.
I've seen iPad apps that can word search and page jump. I'm assuming this is being done with ObjectiveC.
I'm looking for someone to confirm this is the case.
Because if so I'm hoping we can then code a Native Extension utilizing this ObjectiveC code and thus control the PDF the way we want.

Similar Messages

  • Some iOS Native extensions that can be useful

    Hi,
    I have made some iOS Native extensions that can be useful.
    You can find it at https://github.com/xperiments?tab=repositories
    ANE7z
    => Adobe AIR iOS Native Extension to decompres 7z files.
    ANEZipFile
    => Adobe AIR iOS Native Extension to zip/unzip files.
    ANEFileSyncInterface
    => A micro http server with FileManagement capabilities Native Extension
    IOSSystemUtils
    => Adobe Air IOS Native Extension to control Brightness / Torch / Badge
    ANEUnRar
    => Adobe Air Native Extension to Obj-C UnRar Lib
    Please give me your comments

    First of all, thank you for creating this extension. However, it doesn't seem to work. Below is my code for decompressing ByteArray (error handling is stripped for simplicity):
                        public function decompress(aData:ByteArray):ByteArray {
                                  // Save data to file
                                  var fileInput:File = File.applicationStorageDirectory.resolvePath("input.7z");
                                  var stream:FileStream = new FileStream();
                                  stream.open(fileInput, FileMode.WRITE);
                                  stream.writeBytes(aData);
                                  stream.close();
                                  var folderOutput:File = File.applicationStorageDirectory.resolvePath("output");
                                  ANE7z.decompress(fileInput, folderOutput);
                                  var files:Array = folderOutput.getDirectoryListing();
                                  for each (var fileOutput:File in files) {
                                            trace("Extracted file: " + fileOutput.nativePath);
                                            if (!fileOutput.isDirectory) {
                                                      var bytes:ByteArray = new ByteArray();
                                                      stream = new FileStream();
                                                      stream.open(fileOutput, FileMode.READ);
                                                      stream.readBytes(bytes);
                                                      stream.close();
                                                      bytes.position = 0;
                                                      return bytes;
                                  return null;
    The problem is folderOutput.getDirectoryListing() always returns an empty array.

  • Creating ios native extension with 3rd party frameworks

    Hello,
    I'm new to Air development and creating a ios native extension for my flex mobile project.I want to include third party frameworks such as admob,facebook,chartboost in my ANE
    I have tried to link frameworks using packagedDependencies but it dosn't work.(gives me an error telling that "armv7 not supported")
    am I doing something wrong? or is there any proper way to link frameworks?
    platformoptions.xml
    <platform xmlns="http://ns.adobe.com/air/extension/4.0">
         <sdkVersion>7.1</sdkVersion>
         <linkerOptions>
              <option>-ios_version_min 6.1</option>
              <option>-framework StoreKit</option>
              <option>-framework CoreGraphics</option>
              <option>-framework UIKit</option>
              <option>-framework Foundation</option>
         </linkerOptions>
         <packagedDependencies>
             <packagedDependency>frameworks/Chartboost.framework</packagedDependency>
             <packagedDependency>ios/libAdExtension.a</packagedDependency>
        </packagedDependencies>
    </platform>
    extensionxml
    <extension xmlns="http://ns.adobe.com/air/extension/4.0">
        <id>com.my.extensions</id>
        <versionNumber>1</versionNumber>
            <platforms>
                <platform name="iPhone-ARM">
                <applicationDeployment>
                <nativeLibrary>libAdExtension.a</nativeLibrary>
                <initializer>ExtInitializer</initializer>
                <finalizer>ExtFinalizer</finalizer>
                </applicationDeployment>
            </platform>
        </platforms>
    </extension>
    -command
    /Applications/Adobe\ Flash\ Builder\ 4.7/sdks/4.6.0+airSDK4.0/bin/adt -package -target ane adExtension.ane extension.xml -swc bin/AdsLibrary.swc -platform iPhone-ARM library.swf frameworks/Chartboost.framework ios/libAdExtension.a -C ios . -platformoptions platformoptions.xml
    -error
    ld: warning: ignoring file /var/folders/3r/x0bh_4.... file was built for unsupported file format ( 0Undefined symbols for architecture armv7:
      "_OBJC_CLASS_$_Chartboost", referenced from:
    ld: symbol(s) not found for architecture armv7
    Compilation failed while executing : ld64
    *I used lipo to combine simulator and device .a files
    please help

    From the catalog Chartboost.framework copy the static library file Chartboost(path: Chartboost.framework/Versions/A/Chartboost) and use it instead of .framework :
    <platform xmlns="http://ns.adobe.com/air/extension/4.0">
         <sdkVersion>7.1</sdkVersion>
         <linkerOptions>
              <option>-ios_version_min 6.1</option>
              <option>-framework StoreKit</option>
              <option>-framework CoreGraphics</option>
              <option>-framework UIKit</option>
              <option>-framework Foundation</option>
         </linkerOptions>
         <packagedDependencies>
             <packagedDependency>frameworks/Chartboost</packagedDependency>
             <packagedDependency>ios/libAdExtension.a</packagedDependency>
        </packagedDependencies>
    </platform>
    adt -package -target ane adExtension.ane extension.xml -swc bin/AdsLibrary.swc -platform iPhone-ARM library.swf frameworks/Chartboost ios/libAdExtension.a -C ios . -platformoptions platformoptions.xml

  • Сertificate exception when building iOS native extension

    I have certificates for developer and distribution . I signed AIR apps using those certificates, and all work (I publiched 5 games to AppStore, all OK).
    But when I try to compile an iOS native extension, I get:
    Unable to build a valid certificate chain for the signer extension.
    Can someone help me, please? All my attempts failed to fix it.

    How did you compile your ane file? I met same issue before.
    adt -package -target ane myextension.ane extension.xml -swc mySwc.swc -platform iPhone-ARM library.swf libmylib.a -platformoptions myplatformoptions.xml
    lnside myplatformoptions.xml, I linked all the framework and shared libraries, as following
    <platform xmlns="http://ns.adobe.com/air/extension/3.1">
         <sdkVersion>5.1</sdkVersion>
         <linkerOptions>
              <!-- to use the CoreMotion framework -->    
              <option>-framework CoreMotion<option>
              <!-- to link with the libiconv.dylib -->
              <option>-liconv</option>
         </linkerOptions>
    </platform>
    Please let me know, if it does work.

  • IOS native extension for networkinfo throws an error

    Hello,
    I'm trying to check wether the active connection on a device is Wifi or mobile data connection. On android this works fine but on iOS there is a problem.
    A native extension exists for this see here. 
    The problem is that the line below throws an error: 'Error #1009: Cannot access a property or method of a null object reference.'
    var interfaces:Vector.<com.adobe.nativeExtensions.Networkinfo.NetworkInterface> = com.adobe.nativeExtensions.Networkinfo.NetworkInfo.networkInfo.findInterfaces();
    I'm using AIR3.1 (no idea if this works on 3.0).
    Anybody a solution?

    Ever solve this? I'm also getting errors...
    Specifically:
    ArgumentError: Error #3500: The extension context does not have a method with the name getInterfaces.

  • Flash Pro CS6 iOS Native Extension Problem

    I am trying out flash pro CS6 new features.
    The most important one being ANEs [native extensions].
    in flash builder 4.6, when using an ANE for ios, it is sometimes required to put the ios5 SDK location [ -platformsdk  in ADT].
    This is completely missing in Flash Pro CS6 IDE, any way around that?
    [for the info on including the ios5 sdk check:
    http://help.adobe.com/en_US/flex/mobileapps/WSe4e4b720da9dedb5-4aefe03513238d8a1b8-8000.ht ml]
    Thanks.

    Uhmm, i'm doing a kind-of-360º-panorama-app and we need Gyroscope and Ad-hoc / AppStore distribution. And i've tried to get an answer of any kind from guys on Adobe on their AIR facebook fan page and here.
    SHould we write our own gyroscope ANE?, have any of you succesfully compiled ad-hoc or app-store with Ketzler Euler Gyroscope ANE?
    http://www.ketzler.de/2011/11/adobe-air-gyroscope-native-extension-with-euler-angles-roll- pitch-yaw-for-ios/
    regards.

  • Multiple IOS Native Extension

    Hi everyone,
    ok, I'm trying to compile an IOS application in AIR and I have to use 2 differents native extension.
    I use ANT to execute the ADT command line but I got an error message that don't seems to happen to anyone!
    The console simply says : Conflict in filename : unpack/catalog.xml
    I specify the -extdir twice because I use subfolder for each NativeExtension.
    ANT look like this:
    <target name="ipa">
                        <exec executable="${sdk.air}/bin/adt" failonerror="true">
                <arg value="-package"/>
                <arg value="-target"/>
                <arg value="ipa-debug-interpreter"/>
                <arg value="-provisioning-profile"/>
                <arg value="${provision.wildcard}"/>
                <arg value="-storetype"/>
                <arg value="pkcs12"/>
                <arg value="-keystore"/>
                <arg value="${keystore.file}"/>
                <arg value="-storepass"/>
                <arg value="${keystore.password}"/>
                <arg value="../${project.name}.ipa"/>
                <arg value="${project.name}-app.xml"/>
                <arg value="-extdir"/>
                <arg value="${extension.camera}"/>
                <arg value="-extdir"/>
                <arg value="${extension.p2p}"/>
                <arg value="${project.name}.swf"/>
                <arg value="-platformsdk"/>
                <arg value="${sdk.ios}"/>
            </exec>
        </target>
    I think that it's because ADT unzip and move some stuff in the same directory. Does someone have a clue for me ?
    Thanks! 

    Hi Yannick,
    Both the ANEs contain a file named catalog.xml. Sice resources are copied to the top level of the final IPA bundle the second catalog.xml to be copied there causes the problem. If both the ANEs depend on this file and expect the contents of the file to be different then removing one would lead to runtime errors. However, if you know that the contents of catalog.xml are the same in both ANEs or that the code does not depend on this file being present (included by mistake?), you can remove the file from one of the ANEs. Just unzip the ANE, remove the file and create the package using adt again.
    ~rajorshi

  • Duplicate symbol in iOS native extension

    I'm trying to add an Objective C class to an existing native extension that I have for iOS. The code builds fine in Xcode, and the ANE process still seems to work fine. But when I try to package the application for debugging on my iPhone I get this error:
    Error occurred while packaging the application:
    ld: duplicate symbol _OBJC_METACLASS_$_EmailViewDelegate in C:\Users\jmiller\AppData\Local\Temp\18faba99-de69-437b-8fed-c983e5ce2882/libTspNativeExt. a(EmailViewDelegate.o) and C:\Users\jmiller\AppData\Local\Temp\18faba99-de69-437b-8fed-c983e5ce2882/libnet.theservic epro.a(EmailViewDelegate.o) for architecture armv7
    Compilation failed while executing : ld64
    EmailViewDelegate is the name of the class I'm trying to add. libTspNativeExt.a is the library I'm building in Xcode. I have no idea where libnet.theservicepro.a is coming from but it is based on the id from my extension.xml (which is net.theservicepro). I've inspected the ANE with WinRAR and although I see my libTspNativeExt.a in the iOS folder, I do not see this other library anywhere.
    The only fix I'm seeing is to use hideAneLibSymbols=yes in the launch parameters. However, when I do that I get this error while packaging:
    Error occurred while packaging the application:
    Compilation failed while executing : ld64
    Most people are running into this problem with two native extensions that actually conflict. But something in my flow seems to be duplicating the code within my single ANE. Any suggestions?

    And all it took was typing out the question for the answer to hit me. I'm going to share it here incase anyone else runs into this same problem.
    The problem was in my platform_options.xml file for iOS. The previous coder had set it up like this:
    <packagedDependencies>
        <packagedDependency>libTspNativeExt.a</packagedDependency>
        <packagedDependency>BMSPrinterKit_US.framework</packagedDependency>
    </packagedDependencies>
    So behind the scenes, ADT is putting all these dependancies into a libextensionid.a library which means we were telling it to import our library a second time. I'm amazed it actually worked before!

  • IOS Native Extension with external Framework

    Hi there,
    I am developing a native extension for iOS based CityGrid framework. I compiled .a file and packaged it to ANE file. However when I am trying to compile the app, compiler shows me the error:
    Error occurred while packaging the application:
    Undefined symbols:
      "_OBJC_CLASS_$_CityGrid", referenced from:
          __objc_classrefs__DATA@0 in libcom.example.SomeAPI.a(SomeAPI.o)
    ld: symbol(s) not found
    Compilation failed while executing : ld64
    I tried few options in XCode. However I still have the error.
    Is anybody tried to do a native extension with external frameworks?

    How did you compile your ane file? I met same issue before.
    adt -package -target ane myextension.ane extension.xml -swc mySwc.swc -platform iPhone-ARM library.swf libmylib.a -platformoptions myplatformoptions.xml
    lnside myplatformoptions.xml, I linked all the framework and shared libraries, as following
    <platform xmlns="http://ns.adobe.com/air/extension/3.1">
         <sdkVersion>5.1</sdkVersion>
         <linkerOptions>
              <!-- to use the CoreMotion framework -->    
              <option>-framework CoreMotion<option>
              <!-- to link with the libiconv.dylib -->
              <option>-liconv</option>
         </linkerOptions>
    </platform>
    Please let me know, if it does work.

  • IOS Native Extensions [ANEs] + Classic Textfield weird bug

    I tried flash CS6 and Flash builder 4.6
    I am building an iPad app where I have a classinc input textfield.
    The iOS behavior is normal when the user taps on the field, the keyboard is shown,  the application moves up to show the field, and when the user clicks on the stage or on "DONE" the keyboard is removed
    and the full app is moved back to position.
    But, Whenever I add an ANE, and I set the iOS5 SDK location [needed by most ANEs], then publish, the behavior changes:
    - When the keyboard needs to disapear, the application does not move back to position!
    The behavior is fine with ANEs that do not need the iOS5 Location.
    I was planning on releasing the app today as it is all done.

    I filed it as a bug
    http://bugs.adobe.com/jira/browse/SDK-32184

  • How to use single ant build script to package the application with and without native extensions

    Hi,
    I am using iOS native extensions for Adobe air. For this I am listing the extensions in the application descriptor file. Since the package with native extensions are meant to run only on device, I want my build script to work without native extensions too to be able to run on simulator. Is this manadatory that I need two separate application descriptors/basically two build scripts to compile and package them? Please suggest and let me know if more explanation is needed.
    Thanks,
    Swathi.

    Hi
    This is a known issue addressed by CR205204
    As you said, IBM actually does not have rt.jar in its JDK - they have moved contents of rt.jar into various jars.
    IBM is not using org/apache/crimson/tree/ in their JDK at all.So the error shows up in the end of build even if it succeeds
    You may need to add crimson.jar to wlwBuild classpath, since it is not part of IBMs JDK.
    Note: the build will work even w/o crimson.jar giving a non build related IDE exception in the very end.
    Thanks
    Vimala

  • How to use single ant build to package with and without native extensions

    Hi,
    I am using iOS native extensions for Adobe air. For this I am listing the extensionid in the application descriptor file. Since the package with native extensions are meant to run only on device, I want my build script to work without native extensions too to be able to run on simulator. Is this manadatory that I need two separate application descriptors/basically two build scripts to compile and package them? Please suggest and let me know if more explanation is needed.
    Thanks,
    Swathi.

    why are you wanting to use single frames?
    They allow having the initial frame address stay in the
    address bar, and not
    show the linked page's address. The problems they cause
    usually override any
    value.
    Or- if we aren't using the same words the same way, please
    give an example
    site of what you want to do.
    Alan
    Adobe Community Expert, dreamweaver
    http://www.adobe.com/communities/experts/

  • Native Extensions + FDT 5

    I am using FDT 5 and trying to use IOS native extensions. I am pulling my hair out because every time I try running the application locally I get the following error: "Not supported native extensions profile"
    So I've tried scouring the web to find solutions and I've tried the following and these are the results:
    1. Renaming the ANE file to a SWC file and including it to the class path. Results: Nothing, same error
    2. Tried adding extendedDesktop. Results: Error changes to "invalid profile specified 'Application does not support current profile'"
    3. Tried manually adding the ane file to the class path. Results: Nothing
    "Not supported native extensions profile" is the error that I just can't get around. Again, this is when I test locally in FDT (not on the device)

    http://stackoverflow.com/questions/8694003/air-native-extensions-fdt

  • ADT packaging with native extensions : permission denied error when running remote build.

    Hi Team,
    We are facing the following error when running the nightly ant build script on Mac machine for our air mobile application. We are using iOS native extensions and package with ADT. This works fine when we run the build as local user in the Mac machine. Earlier we faced some issues due to headless build and we have added the <headless-server>true</headless-server> in corresponding config files (flex-config.xml, airmobile-config.xml). After that we are facing the following error, even when we run the ant build in headless mode using the following command.
    ant -Djava.awt.headless=true -f build.xml buildPackage
    When running this build as local user in the Mac build machine, we see a window opening with com.adobe.air.ADT while packaging. This is the issue when running nightly build as there is no graphics window.
    Can anybody please help how to get rid of this issue for nightly build using adt,jar?
    Here is the error from build log:
    buildiOSPackageWithNativeExtensionMac:
         [echo] Export the iOS package with Native extension for ApprovalsMobile in Mac
         [java] Exception in thread "main" java.lang.InternalError: Can't connect to window server - not enough permissions.
         [java]  at java.lang.ClassLoader$NativeLibrary.load(Native Method)
         [java]  at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1827)
         [java]  at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1724)
         [java]  at java.lang.Runtime.loadLibrary0(Runtime.java:823)
         [java]  at java.lang.System.loadLibrary(System.java:1045)
         [java]  at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
         [java]  at java.security.AccessController.doPrivileged(Native Method)
         [java]  at java.awt.Toolkit.loadLibraries(Toolkit.java:1605)
         [java]  at java.awt.Toolkit.<clinit>(Toolkit.java:1627)
         [java]  at java.awt.Dimension.<clinit>(Dimension.java:70)
         [java]  at com.adobe.air.validator.ApplicationDescriptorValidator.validateImageUri(ApplicationDescri ptorValidator.java:183)
         [java]  at com.adobe.air.validator.ApplicationDescriptorValidator20.validateElement(ApplicationDescr iptorValidator20.java:121)
         [java]  at com.adobe.air.validator.ApplicationDescriptorValidator25.validateElement(ApplicationDescr iptorValidator25.java:65)
         [java]  at com.adobe.air.validator.ApplicationDescriptorValidator26.validateElement(ApplicationDescr iptorValidator26.java:62)
         [java]  at com.adobe.air.validator.ApplicationDescriptorValidator30.validateElement(ApplicationDescr iptorValidator30.java:52)
         [java]  at com.adobe.air.validator.ApplicationDescriptorValidator31.validateElement(ApplicationDescr iptorValidator31.java:46)
         [java]  at com.adobe.air.validator.DescriptorValidator.endElement(DescriptorValidator.java:239)
         [java]  at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser .java:601)
         [java]  at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XML DocumentFragmentScannerImpl.java:1782)
         [java]  at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDri ver.next(XMLDocumentFragmentScannerImpl.java:2939)
         [java]  at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImp l.java:648)
         [java]  at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScanne rImpl.java:140)
         [java]  at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDo cumentFragmentScannerImpl.java:511)
         [java]  at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.ja va:808)
         [java]  at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.ja va:737)
         [java]  at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
         [java]  at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java :1205)
         [java]  at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.j ava:522)
         [java]  at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
         [java]  at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
         [java]  at com.adobe.air.Descriptor.validateXML(Descriptor.java:182)
         [java]  at com.adobe.air.Descriptor.<init>(Descriptor.java:56)
         [java]  at com.adobe.air.ApplicationDescriptor.<init>(ApplicationDescriptor.java:84)
         [java]  at com.adobe.air.ApplicationPackager.validateApplicationDescriptor(ApplicationPackager.java: 101)
         [java]  at com.adobe.air.ApplicationPackager.createPackage(ApplicationPackager.java:64)
         [java]  at com.adobe.air.ipa.IPAPackager.createPackage(IPAPackager.java:217)
         [java]  at com.adobe.air.ADT.parseArgsAndGo(ADT.java:557)
         [java]  at com.adobe.air.ADT.run(ADT.java:414)
         [java]  at com.adobe.air.ADT.main(ADT.java:464)
    Thanks,
    Swathi.

    Note: Before the above error that were two other errors .
    1) The build complained that the adt-bundle-linux toolchain could not be found and required that it be added to .mozconfig. This was done.
    2) The build complained that dx could not be found.
    The configure file was edited and the values $DX, $AAPT and $AIDL were all set to the adt-bundle-linux/sdk/build-tools/android-4.4 path.
    The instructions given on the Mozilla Wiki did not work right for Android and several modifications were made to move it along. But this permission error is tough to figure out.

  • Native extension, compilation error in flex

    Hello,
    I use flex 4.6.
    I try to include native extension in my AIR/IOS project, but when I compile, i always have a runtime error whatever the native extension i try.
    Exemple :
    VerifyError: Error #1014: Class com.custardbelly.air.extensions.battery.ios::Battery could not be found.
    I link in my project properties the ane file and the associate swc file.
    in the app xml file I have the right extensions tag :
    <extensions>
        <extensionID>com.custardbelly.ibattery</extensionID>
    </extensions>
    What do I wrong ?
    Thanks.
    PS : sorry for my english...

    Make sure the ANE file has no error if you created it.
    Add the ANE file into your project Build Path, then check it into Build Packaging->Apple IOS->Native Extensions.
    BTW, I built my native extension for displaying PPT file in UIWebView from Objective-C. Then I tried it on my PC to get the IPA file, it did not work out, but it works on my mac
    I don't what exactly the reason is. You can try a mac if you are using windows.

Maybe you are looking for