简体   繁体   中英

IBM Worklight - How to add barcode scanner phonegap plugin into config.xml in Xcode 5?

I'm using IBM Worklight for my mobile app (iOS) project.

My question is: How to add a Barcode Scanner PhoneGap plug-in into config.xml in Xcode 5? I just found this config.xml in xcode. I found this documentation from phonegap's site.

config.xml:

<?xml version="1.0" encoding="UTF-8"?>
<widget>
    <preference name="AllowInlineMediaPlayback" value="false" />
    <preference name="AutoHideSplashScreen" value="true" />
    <preference name="BackupWebStorage" value="cloud" />
    <preference name="DisallowOverscroll" value="false" />
    <preference name="EnableViewportScale" value="false" />
    <preference name="FadeSplashScreen" value="true" />
    <preference name="FadeSplashScreenDuration" value=".25" />
    <preference name="HideKeyboardFormAccessoryBar" value="false" />
    <preference name="KeyboardDisplayRequiresUserAction" value="true" />
    <preference name="KeyboardShrinksView" value="false" />
    <preference name="MediaPlaybackRequiresUserAction" value="false" />
    <preference name="ShowSplashScreenSpinner" value="false" />
    <preference name="SuppressesIncrementalRendering" value="false" />
    <preference name="TopActivityIndicator" value="gray" />
    <preference name="GapBetweenPages" value="0" />
    <preference name="PageLength" value="0" />
    <preference name="PaginationBreakingMode" value="page" />
    <preference name="PaginationMode" value="unpaginated" />
    <preference name="EnableLocation" value="false" /><!-- DEPRECATED -->
    <preference name="UIControls" value='{"TabBarSettings": {"position": "bottom", "height": 49}, "ToolBarSettings": {"style": "Default"}}'/>

    <feature name="LocalStorage">
        <param name="ios-package" value="CDVLocalStorage" />
    </feature>
    <feature name="Battery">
        <param name="ios-package" value="CDVBattery" />
    </feature>
    <feature name="Camera">
        <param name="ios-package" value="CDVCamera" />
    </feature>
    <feature name="Console">
        <param name="ios-package" value="CDVLogger" />
    </feature>
    <feature name="Contacts">
        <param name="ios-package" value="CDVContacts" />
    </feature>
    <feature name="Device">
        <param name="ios-package" value="CDVDevice" />
    </feature>
    <feature name="Accelerometer">
        <param name="ios-package" value="CDVAccelerometer" />
    </feature>
    <feature name="Compass">
        <param name="ios-package" value="CDVCompass" />
    </feature>
    <feature name="Notification">
        <param name="ios-package" value="CDVNotification" />
    </feature>
    <feature name="File">
        <param name="ios-package" value="CDVFile" />
    </feature>
    <feature name="FileTransfer">
        <param name="ios-package" value="CDVFileTransfer" />
    </feature>
    <feature name="Geolocation">
        <param name="ios-package" value="CDVLocation" />
    </feature>
    <feature name="Globalization">
        <param name="ios-package" value="CDVGlobalization" />
    </feature>
    <feature name="InAppBrowser">
        <param name="ios-package" value="CDVInAppBrowser" />
    </feature>
    <feature name="Media">
        <param name="ios-package" value="CDVSound" />
    </feature>
    <feature name="Capture">
        <param name="ios-package" value="CDVCapture" />
    </feature>
    <feature name="NetworkStatus">
        <param name="ios-package" value="CDVConnection" />
    </feature>
    <feature name="SplashScreen">
        <param name="ios-package" value="CDVSplashScreen" />
        <param name="onload" value="true" />
    </feature>
    <feature name="Vibration">
        <param name="ios-package" value="CDVVibration" />
    </feature>


    <!--worklight-->
    <feature name="DeviceAuth">
        <param name="ios-package" value="DeviceAuthPlugin" />
    </feature>
    <feature name="UserAuth">
        <param name="ios-package" value="UserAuthPlugin" />
    </feature>
    <feature name="WebResourcesDownloader">
        <param name="ios-package" value="WebResourcesDownloader" />
    </feature>
    <feature name="WLNotification">
        <param name="ios-package" value="WLNotification" />
    </feature>
    <feature name="WLApp">
        <param name="ios-package" value="WLApp" />
    </feature>
    <feature name="UIControls">
        <param name="ios-package" value="UIControls" />
    </feature>
    <feature name="Push">
        <param name="ios-package" value="Push" />
    </feature>
    <feature name="NetworkDetector">
        <param name="ios-package" value="NetworkDetector" />
    </feature>
    <feature name="NativePage">
        <param name="ios-package" value="NativePage" />
    </feature>
    <feature name="SecurityPlugin">
        <param name="ios-package" value="SecurityPlugin" />
    </feature>
    <feature name="StoragePlugin">
        <param name="ios-package" value="StoragePlugin" />
    </feature>
    <feature name="AnalyticsConfigurator">
        <param name="ios-package" value="AnalyticsConfigurator" />
    </feature>
    <feature name="FIPSHttpPlugin">
        <param name="ios-package" value="FIPSHttpPlugin" />
    </feature>
    <feature name="Badge">
        <param name="ios-package" value="Badge" />
    </feature>
    <feature name="NotificationEx">
        <param name="ios-package" value="NotificationEx" />
    </feature>
    <feature name="WifiPlugin">
        <param name="ios-package" value="WifiPlugin" />
    </feature>
    <feature name="CoreLocationGetLocationPlugin">
        <param name="ios-package" value="CoreLocationGetLocationPlugin" />
    </feature>
    <feature name="CoreLocationWatchPlugin">
        <param name="ios-package" value="CoreLocationWatchPlugin" />
    </feature>
    <feature name="SignificantChangeWatchPlugin">
        <param name="ios-package" value="SignificantChangeWatchPlugin" />
    </feature>
    <feature name="SignificantChangeGetLocationPlugin">
        <param name="ios-package" value="SignificantChangeGetLocationPlugin" />
    </feature>

    <access origin="*" />
</widget>

You can check my repo here: https://github.com/datomnurdin/worklight-mobile

At the bottom of config.xml, add the following:

<feature name="your-plugin-name">
    <param name="io-package" value="your-plugin-name"> 
</feature>

Basically, just follow the structure of all the rest of the Cordova plug-ins that are declared there...

But why not read the training module Worklight provides ( sample project ), also for this purpose with step-by-step instructions?

  • Slide 7: shows what you need to add to the config.xml file
  • Slide 13 onwards: shows what you need to do in Xcode
  • All other slides: How to use the plug-in in Worklight. JS and Objective-C sides

If you intend on using Cordova plug-ins in a Worklight application, this training module is a required reading ; even though it talks about creating your own Cordova plug-in, it is also relevant if you intend on adding a Cordova plug-in you've found on the web, and how to use it in the context of Worklight.

Related:

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM