How to use Cordova 3.4?

21 posts, 1 answers
  1. Idan
    Idan avatar
    76 posts
    Member since:
    Oct 2012

    Posted 17 Mar 2014 Link to this post

    Is there an option to use Cordova 3.4 in my project. In the windows client I only see 3.2?

    thanks
  2. Pavel Kolev
    Admin
    Pavel Kolev avatar
    26 posts

    Posted 17 Mar 2014 Link to this post

    Hello Idan,

    Currently we support cordova versions up to 3.2. Cordova 3.4 is not supported yet. Do you need it for a plugin update or do you need any feature from 3.4?

    Regards,
    Pavel Kolev
    Telerik
     
    Icenium is now Telerik AppBuilder, and is part of the Telerik Platform. Share what you think about AppBuilder and Telerik Platform with us in our feedback portal, so we can become even better!
  3. Idan
    Idan avatar
    76 posts
    Member since:
    Oct 2012

    Posted 17 Mar 2014 in reply to Pavel Kolev Link to this post

    Hi Pavel,

    It's related to the other question I asked. From what I've read I tend to believe that there is a bug with uploading to S3 on Android 4.3 (probably other 4.xx versions) and I think it was solved in the newest version of 3.4.
  4. Idan
    Idan avatar
    76 posts
    Member since:
    Oct 2012

    Posted 17 Mar 2014 in reply to Pavel Kolev Link to this post

    Hi Pavel,

    It's related to the other question I asked. From what I've read I tend to believe that there is a bug with uploading to S3 on Android 4.3 (probably other 4.xx versions) and I think it was solved in the newest version of 3.4. So I think that I might need the newest version of the FileTransfer.
  5. Iva Koevska
    Admin
    Iva Koevska avatar
    286 posts

    Posted 18 Mar 2014 Link to this post

    Hello Idan,

    We intend to introduce a Cordova update in one of our next releases. However, you can still use an updated version of the File transfer plugin without explicitly switching to Cordova 3.4.

    Here's what you need to do:

    1. Turn off the File Transfer plugin from Project Properties -> Plugins.
    2. Get the File Transfer plugin version you need either from the Plugin Registry or from GitHub.
    3. Add the plugin as a custom plugin.
    4. (Optional) Edit the plugin.xml of the newly added plugin to exclude irrelevant platforms.
    5. Call the plugin functionality from your code.

    AppBuilder will resolve any dependencies automatically excluding dependencies that rely on a newer version of an integrated or core plugin. In that case, you would need to add that plugin to your project in the same manner.

    Regards,
    Iva Koevska
    Telerik
     
    Icenium is now Telerik AppBuilder, and is part of the Telerik Platform. Share what you think about AppBuilder and Telerik Platform with us in our feedback portal, so we can become even better!
  6. Idan
    Idan avatar
    76 posts
    Member since:
    Oct 2012

    Posted 18 Mar 2014 in reply to Iva Koevska Link to this post

    Hi,

    I've downloaded the FileTransfer plugin from GitHub and imported the zip file to the project. I also disabled the default FileTransfer plugin.

    The project Failed when I compile it and it give me the following error:

    [javac] Compiling 55 source files to /tmp/15ae2780b6fe40e688b07310456c5fa5/bin/classes
      [javac] /tmp/15ae2780b6fe40e688b07310456c5fa5/src/org/apache/cordova/filetransfer/FileTransfer.java:802: error: cannot find symbol
      [javac]                         JSONObject fileEntry = filePlugin.getEntryForFile(file);
      [javac]                                                          ^
      [javac]   symbol:   method getEntryForFile(File)
      [javac]   location: variable filePlugin of type FileUtils
      [javac] Note: Some input files use or override a deprecated API.
      [javac] Note: Recompile with -Xlint:deprecation for details.
      [javac] 1 error
    and..

    [2014-03-18 15:16:58.572] Log (Exception,High): System.Exception: Unable to build the application package.
     
    Server stack trace:
       at Telerik.BlackDragon.Common.Data.TargetResultDataExtensions.ThrowIfNotSuccessful(TargetResultData targetResultData)
       at Telerik.BlackDragon.Client.ProjectTypes.MobileCore.BuildManager.#u4d.#qb()
     
    Exception rethrown at [0]:
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(Task task)
       at Telerik.BlackDragon.Client.ProjectTypes.MobileCore.BuildManager.#VAd.#qb()
     
    Exception rethrown at [1]:
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(Task task)
       at #i4d.#bde.#GFe.MoveNext()
     
    Exception rethrown at [2]:
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(Task task)
       at #i4d.#bde.#Bee.MoveNext()
     
    Exception rethrown at [3]:
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(Task task)
       at #i4d.#bde.#Aee.MoveNext()


    What it the cause of this error and how can I fix it. I just imported the plugin as a custom plugin.

    Thanks in advance.
  7. Iva Koevska
    Admin
    Iva Koevska avatar
    286 posts

    Posted 18 Mar 2014 Link to this post

    Hello Idan,

    As mentioned below, you might need to replace one or more other core plugins if your plugin depends on an updated functionality. It seems that this is the case. Please, attempt to update your File core plugin as well using the procedure described in my previous reply.

    The File plugin in the Plugin Registry. The File plugin in GitHub.

    In addition, you might want to double-check if these files depend on other updated plugins and if yes, add those plugins as well. Thank you!

    Regards,
    Iva Koevska
    Telerik
     
    Icenium is now Telerik AppBuilder, and is part of the Telerik Platform. Share what you think about AppBuilder and Telerik Platform with us in our feedback portal, so we can become even better!
  8. Idan
    Idan avatar
    76 posts
    Member since:
    Oct 2012

    Posted 18 Mar 2014 in reply to Iva Koevska Link to this post

    Hi Iva,

    I imported the Cordova File plugin from GitHub, disabled the one in the propertied (the default File plugin). I still get the same exact error.

    My plugins section in the config.xml for Android

    <plugins>
          <plugin name="App" value="org.apache.cordova.App"/>
          <!-- plugin name="Geolocation" value="org.apache.cordova.GeoBroker"/-->
          <plugin name="Device" value="org.apache.cordova.Device"/>
          <!--plugin name="Accelerometer" value="org.apache.cordova.AccelListener"/-->
          <!--plugin name="Compass" value="org.apache.cordova.CompassListener"/-->
          <plugin name="Media" value="org.apache.cordova.AudioHandler"/>
          <plugin name="Camera" value="org.apache.cordova.CameraLauncher"/>
          <!--plugin name="Contacts" value="org.apache.cordova.ContactManager"/-->
          <plugin name="File" value="org.apache.cordova.FileUtils"/>
          <plugin name="NetworkStatus" value="org.apache.cordova.NetworkManager"/>
          <!--plugin name="Notification" value="org.apache.cordova.Notification"/-->
          <plugin name="Storage" value="org.apache.cordova.Storage"/>
          <plugin name="FileTransfer" value="org.apache.cordova.FileTransfer"/>
          <plugin name="Capture" value="org.apache.cordova.Capture"/>
          <!--plugin name="Battery" value="org.apache.cordova.BatteryListener"/-->
          <plugin name="SplashScreen" value="org.apache.cordova.SplashScreen"/>
          <!--plugin name="Echo" value="org.apache.cordova.Echo" /-->
          <plugin name="Globalization" value="org.apache.cordova.Globalization"/>
          <plugin name="InAppBrowser" value="org.apache.cordova.InAppBrowser"/>
     
           
      </plugins>

    I assume that I am missing a reference, but can't figure it out.
  9. Idan
    Idan avatar
    76 posts
    Member since:
    Oct 2012

    Posted 18 Mar 2014 in reply to Idan Link to this post

    From what I see, the fileTransfer symbol resides in the Cordova File Plugin in FileUtils.java, line 71:

    private static FileUtils filePlugin


    This plugin is imported as a custom plugin from GitHub.  So I can only assume that it is not referenced and therefore the File Transfer plugin can't access the File Plugin and read the static variable, But again, I have no idea how to solve it.

  10. Idan
    Idan avatar
    76 posts
    Member since:
    Oct 2012

    Posted 18 Mar 2014 in reply to Idan Link to this post

    I think the error might not be a reference error, as it sees the file plugin ("location: variable filePlugin of type FileUtils).

    According to the note ("some input files use or override a deprecated API"), this might suggest that this is due to the project being compiled using Cordova 3.2.

    Can you please help me solve this issue :(
  11. Martin
    Admin
    Martin avatar
    29 posts

    Posted 19 Mar 2014 Link to this post

    Hi Idan,

    It turns out that the Capture plugin also depends on File and it installs the version from Cordova 3.2.0. In order to workaround this you should disable it. If you need to use it you can add it as a custom plugin alongside File and File Transfer.

    I hope this helps! If you continue to experience problems feel free to write us again!

    Best regards,
    Martin
    Telerik
     
    Icenium is now Telerik AppBuilder, and is part of the Telerik Platform. Share what you think about AppBuilder and Telerik Platform with us in our feedback portal, so we can become even better!
  12. Idan
    Idan avatar
    76 posts
    Member since:
    Oct 2012

    Posted 19 Mar 2014 in reply to Martin Link to this post

    I use the three files and now the compilation was successful without any issues.

    The problem still remains though and I still get Code 3 error. I thought it was solved in the latest version. Maybe I need to modify something in the code?

    Any other suggestions to solve this issue? :(
  13. Idan
    Idan avatar
    76 posts
    Member since:
    Oct 2012

    Posted 19 Mar 2014 in reply to Idan Link to this post

    I wanted to add that this time I also get Code 3 on iOS7 (iPhone 5S), which I didn't get before.
  14. Idan
    Idan avatar
    76 posts
    Member since:
    Oct 2012

    Posted 19 Mar 2014 in reply to Idan Link to this post

    When you mentioned the Capture Plugin, is this the one that I should install (Media Capture)? -- because I used this one and disabled the Capture plugin from the core plugins. Just making sure.
  15. Idan
    Idan avatar
    76 posts
    Member since:
    Oct 2012

    Posted 19 Mar 2014 in reply to Idan Link to this post

    I double check the project and it seems that the media-capture plugin was not imported. It's around 2MB and when I upload it, the project not refreshed and I can't see the plugin in the plugins folder.
  16. Answer
    Iva Koevska
    Admin
    Iva Koevska avatar
    286 posts

    Posted 19 Mar 2014 Link to this post

    Hi Idan,

    Alternatively to the Import Plugin command, you can go two other ways about adding your custom plugin files.
    • If you are running the in-browser client or the Windows client, right-click the Plugins folder and select Add -> From archive. After you add the archive, make sure that the the plugin files (plugin.xml, src, and www) are nested within a folder in the Plugins folder. They shouldn't be directly placed in the Plugins root or nested more than one level below the root.
    • If you are using the Windows client, unpack the archive, making sure again that you have a folder which contains plugin.xml, src, and www in its root. Drag and drop the folder on the Plugins folder. Depending on your system settings, you can repeat the same approach in the VS extension.
    • If you are using the VS extension and drag and drop isn't working, copy the folder containing your plugin and paste it on the Plugins folder. 


    Regards,
    Iva Koevska
    Telerik
     
    Icenium is now Telerik AppBuilder, and is part of the Telerik Platform. Learn how to build cross-platform mobile apps using Visual Studio and .NET at the Telerik Platform webinar.
  17. Brandon Peterson
    Brandon Peterson avatar
    47 posts
    Member since:
    May 2007

    Posted 11 Jun 2014 Link to this post

    I am in need of Cordova 3.4 for the officially supported  Urban Airship plugin. Do you have an approximation of when then will be implemented?

    http://docs.urbanairship.com/build/phonegap.html

    The unsupported plugin doesn't seem to work with AppBuilder and its currently supported Cordova 3.0 and 3.2 configurations.
  18. Stefan Dobrev
    Admin
    Stefan Dobrev avatar
    790 posts

    Posted 11 Jun 2014 Link to this post

    Hi Brandon,

    I have just checked the plugin's xml file and it seems that this requirement (Cordova 3.4) is only added to support arm64 compilation (https://github.com/urbanairship/phonegap-ua-push/commit/ae01c743418d3c11bd219f493c7a7af0ab5e57dc).  

    Can you try to modify the plugin.xml file and make version 3.0.0 or 3.2.0? It should work with those versions as well.

    Hope this helps.
    -sdobrev

    Share what you think about AppBuilder and Telerik Platform with us in our feedback portal, so we can become even better!

  19. Brandon Peterson
    Brandon Peterson avatar
    47 posts
    Member since:
    May 2007

    Posted 17 Jun 2014 Link to this post

    Stefan, thanks for the suggestion. I installed the plugin with the Cordova version xml change you mentioned but I get the following errors from the Visual Studio 2013 extension during Build and Deploy.

    Build output:
    C:\Users\Brandon\AppData\Local\Microsoft\VisualStudio\12.0\Extensions\1hokv5fk.cuf\Targets\Build.targets(158,3): error : Server build failed. Server output: Project "ItsOnMe.Android.proj" (default targets):
        Error: grafting xml at selector "/widget" from "/tmp/cbd271e51ae3449ba2abc2e229008b55/res/xml/config.xml" during config install went bad :(
     
    Done building project "ItsOnMe.Android.proj" -- FAILED.
    .
    Done building project "ItsOnMe.Android.iceproj" -- FAILED.
     
    Build FAILED

    AppBuilder output:
    [2014-06-17 11:48:09.140] Log (Exception,High): Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: <. Path '', line 5, position 1.
       at Newtonsoft.Json.JsonTextReader.ParseValue()
       at Newtonsoft.Json.JsonTextReader.ReadInternal()
       at Newtonsoft.Json.JsonTextReader.Read()
       at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ReadForType(JsonReader reader, JsonContract contract, Boolean hasConverter)
       at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
       at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
       at Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectType)
       at Stacky.SerializationHelper.DeserializeJson[T](String json)
       at Stacky.JsonResponse`1.Parse[T](String json, JsonResponse`1 response)
       at Stacky.JsonResponse`1..ctor(String json)
       at Stacky.JsonProtocol.GetResponse[T](String message)
       at Stacky.StackyClient.ParseResponse[T](HttpResponse httpResponse)
       at Stacky.StackyClient.MakeRequest[T](String method, String[] urlArguments, Dictionary`2 queryStringArguments)
       at Stacky.StackyClient.MakeRequest[T](String method, String[] urlArguments, Object queryStringArguments)
       at Stacky.StackyClient.Search(String inTitle, IEnumerable`1 tagged, IEnumerable`1 notTagged, SearchSort sortBy, SortDirection sortDirection, Nullable`1 page, Nullable`1 pageSize)
       at SquaredInfinity.VSCommands.Features.StackOverflow.Services.StackOverflowService.#w2b()
       at SquaredInfinity.VSCommands.Features.StackOverflow.Services.StackOverflowService.#tfc()
       at System.Threading.Tasks.Task`1.InnerInvoke()
       at System.Threading.Tasks.Task.Execute()

    After uninstalling the Urban Airship plugin it builds fine. I see that a Cordova 3.5 update is scheduled for AppBuilder later this month according to Kaloyan. I  guess we will hold off on development of push notifications through my client's chosen provider until then.
  20. Tina Stancheva
    Admin
    Tina Stancheva avatar
    3298 posts

    Posted 20 Jun 2014 Link to this post

    Hello Brandon ,

    The upcoming release will include an update to Cordova 3.5 and if you can wait for it, it will be the easiest option.

    However, if you'd like to workaround
    the error you received, you can edit the plugin.xml file and specifically the android platform configuration. I believe that the error comes from the fact that the configuration is looking for a parent ="/widget", which is incorrect. If you instead change that to "/*", the error should be resolved:
    <config-file target="res/xml/config.xml" parent="/*">
        <feature name="PushNotificationPlugin">
            <param name="android-package" value="com.urbanairship.phonegap.PushNotificationPlugin"/>
            <param name="onload" value="true" />
        </feature>
    </config-file>

    If this doesn't help you can send us your app and we can try to setup the plugin to work with the current AppBuilder version.

    Regards,
    Tina Stancheva
    Telerik
     

    Share what you think about AppBuilder and Telerik Platform with us in our feedback portal, so we can become even better!

     
  21. Brandon Peterson
    Brandon Peterson avatar
    47 posts
    Member since:
    May 2007

    Posted 09 Jul 2014 in reply to Tina Stancheva Link to this post

    Thank you, Tina. After editing the phonegap-ua-push plugin.xml platform specific config.xml config-file parent as you suggested and configuring the config-file preferences I was able to get version 2.4.0 of the plugin to work in AppBuilder targeting Cordova 3.5. Here is an example of the the entire plugin xml for reference in case anyone is looking to implement Urban Airship (of course replace com.companyname.projectname with your fully qualified, reverse-domain Android package name and the Urban Airship app keys, app secrets, and Google Cloud Messaging id with your own and don't forget to set in_production based on your ad hoc or app store deployment.

    <?xml version="1.0" encoding="UTF-8"?>
        id="com.urbanairship.phonegap.PushNotification"
        version="2.4.0">
     
        <name>Urban Airship Push Notification Plugin</name>
         
        <description>Urban Airship Push Notification Plugin for PhoneGap/Cordova</description>
         
        <license>Apache 2.0</license>
         
        <engines>
          <engine name="cordova" version=">=3.4.0" />
        </engines>
     
        <dependency id="org.apache.cordova.device" url="https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git" commit="master" subdir="." />
     
        <js-module src="www/PushNotification.js" name="PushNotification">
             <clobbers target="PushNotification" />
         </js-module>
     
        <!-- android -->
        <platform name="android">
            
            <config-file target="res/xml/config.xml" parent="/*">
                <feature name="PushNotificationPlugin">
                    <param name="android-package" value="com.urbanairship.phonegap.PushNotificationPlugin"/>
                    <param name="onload" value="true" />
                </feature>
            </config-file>
     
            <config-file target="res/xml/config.xml" parent="/*">
                <preference name="com.urbanairship.production_app_key" value="production_app_key" />
                <preference name="com.urbanairship.production_app_secret" value="production_app_secret" />
                <preference name="com.urbanairship.development_app_key" value="development_app_key" />
                <preference name="com.urbanairship.development_app_secret" value="development_app_secret-2zA" />
                <preference name="com.urbanairship.in_production" value="false" />
                <preference name="com.urbanairship.enable_push_onlaunch" value="true" />
                <preference name="com.urbanairship.gcm_sender" value="0000000000" />
            </config-file>
     
            <config-file target="AndroidManifest.xml" parent="/manifest">
                <uses-permission android:name="android.permission.INTERNET" />
                <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
                <uses-permission android:name="android.permission.VIBRATE" />
                <uses-permission android:name="android.permission.GET_ACCOUNTS" />
                <uses-permission android:name="android.permission.WAKE_LOCK" />
                <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
                <uses-permission android:name="com.companyname.projectname.permission.C2D_MESSAGE" />
                <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
                <permission android:name="com.companyname.projectname.permission.C2D_MESSAGE" android:protectionLevel="signature" />
            </config-file>
     
            <config-file target="AndroidManifest.xml" parent="/manifest/application">
                <receiver android:name="com.urbanairship.phonegap.PushReceiver" />
                <receiver android:name="com.urbanairship.CoreReceiver" />
                <receiver android:name="com.urbanairship.push.GCMPushReceiver" android:permission="com.google.android.c2dm.permission.SEND">       
                  <intent-filter>
                      <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                      <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
                      <category android:name="com.companyname.projectname" />
                  </intent-filter>
                </receiver>
     
                <meta-data android:name="com.urbanairship.autopilot" android:value="com.urbanairship.phonegap.PushAutopilot" />
                <activity android:name="com.urbanairship.actions.ActionActivity"/>
                <activity
                    android:name="com.urbanairship.actions.LandingPageActivity"
                    android:exported="false">
     
                    <meta-data android:name="meta" android:value="what" />
                    <intent-filter>
                        <action android:name="com.urbanairship.actions.SHOW_LANDING_PAGE_INTENT_ACTION"/>
                        <data android:scheme="http" />
                        <data android:scheme="https" />
                        <category android:name="android.intent.category.DEFAULT"/>
                    </intent-filter>
                </activity>
     
                <service android:name="com.urbanairship.push.PushService" android:label="Push Notification Service"/>
                <service android:name="com.urbanairship.push.PushWorkerService" android:label="Push Notification Worker Service"/>
                <service android:name="com.urbanairship.analytics.EventService" android:label="Event Service"/>
                <service android:name="com.urbanairship.actions.ActionService" />
                 
                <provider android:name="com.urbanairship.UrbanAirshipProvider"
                    android:authorities="com.companyname.projectname.urbanairship.provider"
                    android:exported="false"
                    android:multiprocess="true" />
     
                <service android:name="com.urbanairship.location.LocationService" android:label="Segments Service"/>
            </config-file>
     
            <source-file src="src/android/PushNotificationPlugin.java" target-dir="src/com/urbanairship/phonegap" />
            <source-file src="src/android/PushReceiver.java" target-dir="src/com/urbanairship/phonegap" />
            <source-file src="src/android/PushAutopilot.java" target-dir="src/com/urbanairship/phonegap" />
            <source-file src="src/android/urbanairship-lib-4.0.2.jar" target-dir="libs/" />
        </platform>
         
        <!-- ios -->
        <platform name="ios">
            <config-file target="config.xml" parent="/*">
                 <feature name="PushNotificationPlugin">
                    <param name="ios-package" value="PushNotificationPlugin" />
                    <param name="onload" value="true" />
                </feature>
            </config-file>
     
            <config-file target="res/xml/config.xml" parent="/*">
              <preference name="com.urbanairship.production_app_key" value="production_app_key" />
              <preference name="com.urbanairship.production_app_secret" value="production_app_secret" />
              <preference name="com.urbanairship.development_app_key" value="development_app_key" />
              <preference name="com.urbanairship.development_app_secret" value="development_app_secret-2zA" />
              <preference name="com.urbanairship.in_production" value="false" />
              <preference name="com.urbanairship.enable_push_onlaunch" value="true" />
            </config-file>
           
            <header-file src="src/ios/PushNotificationPlugin.h" />
            <source-file src="src/ios/PushNotificationPlugin.m" />
     
            <!-- Common header files -->
            <header-file src="src/ios/Airship/Common/UAAnalytics.h"  />
            <header-file src="src/ios/Airship/Common/UAAnalyticsDBManager.h"  />
            <header-file src="src/ios/Airship/Common/UAAppDelegate.h"  />
            <header-file src="src/ios/Airship/Common/UAAppDelegateProxy.h"  />
            <header-file src="src/ios/Airship/Common/UABaseLocationProvider.h"  />
            <header-file src="src/ios/Airship/Common/UAConfig.h"  />
            <header-file src="src/ios/Airship/Common/UADelayOperation.h"  />
            <header-file src="src/ios/Airship/Common/UAEvent.h"  />
            <header-file src="src/ios/Airship/Common/UAGlobal.h"  />
            <header-file src="src/ios/Airship/Common/UAHTTPConnection.h"  />
            <header-file src="src/ios/Airship/Common/UAHTTPConnectionOperation.h"  />
            <header-file src="src/ios/Airship/Common/UAHTTPRequest.h"  />
            <header-file src="src/ios/Airship/Common/UAHTTPRequestEngine.h"  />
            <header-file src="src/ios/Airship/Common/UAKeychainUtils.h"  />
            <header-file src="src/ios/Airship/Common/UALocationCommonValues.h"  />
            <header-file src="src/ios/Airship/Common/UALocationEvent.h"  />
            <header-file src="src/ios/Airship/Common/UALocationProviderDelegate.h"  />
            <header-file src="src/ios/Airship/Common/UALocationProviderProtocol.h"  />
            <header-file src="src/ios/Airship/Common/UALocationService.h"  />
            <header-file src="src/ios/Airship/Common/UASQLite.h"  />
            <header-file src="src/ios/Airship/Common/UASignificantChangeProvider.h"  />
            <header-file src="src/ios/Airship/Common/UAStandardLocationProvider.h"  />
            <header-file src="src/ios/Airship/Common/UATagUtils.h"  />
            <header-file src="src/ios/Airship/Common/UAUser.h"  />
            <header-file src="src/ios/Airship/Common/UAUserAPIClient.h"  />
            <header-file src="src/ios/Airship/Common/UAUserData.h"  />
            <header-file src="src/ios/Airship/Common/UAUtils.h"  />
            <header-file src="src/ios/Airship/Common/UAirship.h"  />
            <header-file src="src/ios/Airship/Common/UAObservable.h"  />
            <header-file src="src/ios/Airship/Common/NSJSONSerialization+UAAdditions.h"  />
            <header-file src="src/ios/Airship/Common/UAURLProtocol.h"  />
            <header-file src="src/ios/Airship/Common/NSString+URLEncoding.h" />
            <header-file src="src/ios/Airship/Common/UAAction+Operators.h" />
            <header-file src="src/ios/Airship/Common/UAAction.h" />
            <header-file src="src/ios/Airship/Common/UAActionArguments.h" />
            <header-file src="src/ios/Airship/Common/UAActionJSDelegate.h" />
            <header-file src="src/ios/Airship/Common/UAActionRegistry.h" />
            <header-file src="src/ios/Airship/Common/UAActionRegistryEntry.h" />
            <header-file src="src/ios/Airship/Common/UAActionResult.h" />
            <header-file src="src/ios/Airship/Common/UAActionRunner.h" />
            <header-file src="src/ios/Airship/Common/UAAddTagsAction.h" />
            <header-file src="src/ios/Airship/Common/UAAggregateActionResult.h" />
            <header-file src="src/ios/Airship/Common/UAApplicationMetrics.h" />
            <header-file src="src/ios/Airship/Common/UABespokeCloseView.h" />
            <header-file src="src/ios/Airship/Common/UABeveledLoadingIndicator.h" />
            <header-file src="src/ios/Airship/Common/UACloseWindowAction.h" />
            <header-file src="src/ios/Airship/Common/UAIncomingPushAction.h" />
            <header-file src="src/ios/Airship/Common/UAIncomingRichPushAction.h" />
            <header-file src="src/ios/Airship/Common/UAJavaScriptDelegate.h" />
            <header-file src="src/ios/Airship/Common/UALandingPageOverlayController.h" />
            <header-file src="src/ios/Airship/Common/UAModifyTagsAction.h" />
            <header-file src="src/ios/Airship/Common/UAOpenExternalURLAction.h" />
            <header-file src="src/ios/Airship/Common/UAPushActionArguments.h" />
            <header-file src="src/ios/Airship/Common/UARemoveTagsAction.h" />
            <header-file src="src/ios/Airship/Common/UARichContentWindow.h" />
            <header-file src="src/ios/Airship/Common/UASyncAction.h" />
            <header-file src="src/ios/Airship/Common/UAWebInvocationActionArguments.h" />
            <header-file src="src/ios/Airship/Common/UAWebViewCallData.h" />
            <header-file src="src/ios/Airship/Common/UAWebViewTools.h" />
            <header-file src="src/ios/Airship/Common/UIWebView+UAAdditions.h" />
            <header-file src="src/ios/Airship/Common/JS/UANativeBridge.h" />
            <header-file src="src/ios/Airship/Common/LandingPages/UALandingPageAction.h" />
     
            <!-- Push header files -->
            <header-file src="src/ios/Airship/Push/UADeviceAPIClient.h"  />
            <header-file src="src/ios/Airship/Push/UADeviceRegistrationPayload.h"  />
            <header-file src="src/ios/Airship/Push/UAPush.h" />
            <header-file src="src/ios/Airship/Push/UAChannelAPIClient.h" />
            <header-file src="src/ios/Airship/Push/UAChannelRegistrationPayload.h" />
            <header-file src="src/ios/Airship/Push/UADeviceRegistrar.h" />
     
            <!-- External header files -->
            <header-file src="src/ios/Airship/External/UA_Base64.h"  />
            <header-file src="src/ios/Airship/External/UA_Reachability.h"  />
     
            <source-file src="src/ios/Airship/libUAirship-4.0.0.a" framework="true"/>
     
            <!-- system frameworks -->
            <framework src="libsqlite3.dylib" />
            <framework src="libz.dylib" />
            <framework src="CFNetwork.framework" weak="true" />
            <framework src="CoreGraphics.framework" weak="true" />
            <framework src="Foundation.framework" weak="true" />
            <framework src="Security.framework" weak="true" />
            <framework src="MobileCoreServices.framework" weak="true" />
            <framework src="SystemConfiguration.framework" weak="true" />
            <framework src="UIKit.framework" weak="true" />
            <framework src="CoreTelephony.framework" weak="true" />
            <framework src="MobileCoreServices.framework" weak="true" />
        </platform>
    </plugin>
Back to Top