Question

I've built my first iOS app and everything works but snapping photos. Below is my Phonegap config file and further down the JavaScript part that according to my understanding of the manual should let the user snap a photo.

When I call navigator.device.capture.captureImage nothing happens.

What am I missing?

<?xml version="1.0" encoding="UTF-8"?> 
<widget xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0" id="dk.webcom.longhaul" version="1.0.0">

    <preference name="AllowInlineMediaPlayback" value="false" />
    <preference name="AutoHideSplashScreen" value="true" />
    <preference name="BackupWebStorage" value="cloud" />
    <preference name="DisallowOverscroll" value="false" />
    <preference name="EnableLocation" value="false" /><!-- DEPRECATED -->
    <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="true" />
    <preference name="SuppressesIncrementalRendering" value="false" />
    <preference name="TopActivityIndicator" value="gray" />

    <content src="index.html" />

    <plugins>
        <plugin name="Device" value="CDVDevice" />
        <plugin name="Logger" value="CDVLogger" />
        <!--<plugin name="Compass" value="CDVLocation" />-->
        <!--<plugin name="Accelerometer" value="CDVAccelerometer" />-->
        <plugin name="Camera" value="CDVCamera" />
        <plugin name="NetworkStatus" value="CDVConnection" />
        <!--<plugin name="Contacts" value="CDVContacts" />-->
        <!--<plugin name="Echo" value="CDVEcho" />-->
        <plugin name="File" value="CDVFile" />
        <plugin name="FileTransfer" value="CDVFileTransfer" />
        <plugin name="Geolocation" value="CDVLocation" />
        <plugin name="Notification" value="CDVNotification" />
        <!--<plugin name="Media" value="CDVSound" />-->
        <plugin name="Capture" value="CDVCapture" />
        <!--<plugin name="SplashScreen" value="CDVSplashScreen" />-->
        <!--<plugin name="Battery" value="CDVBattery" />-->
        <!--<plugin name="Globalization" value="CDVGlobalization" />-->
        <!--<plugin name="InAppBrowser" value="CDVInAppBrowser" />-->
    </plugins>

    <access origin="*" />

</widget>

Here is the JavaScript part that should open the camera.

        navigator.device.capture.captureImage @photoSuccess, @photoFail,
            limit: 1
        # navigator.camera.getPicture app.photoSuccess, app.photoFail,
        #   quality: 50
        #   destinationType: Camera.DestinationType.FILE_URI
Was it helpful?

Solution

It seems I was missing <script src="cordova-2.7.0.js"></script> in index.html

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top