0

Я создал ионное приложение, это хорошо работает на android. Но сканер штрих-кода не работает корректно в ios.Ionic BarcodeScanner не работает на ios

Мой код;

$cordovaBarcodeScanner.scan().then(function (barcodeData) { 
    console.log("Data : "+barcodeData.text); 
}); 

Но XCODE дает мне что-то подобное в качестве нон-стоп; enter image description here

Когда я попытался это сделать;

cordova.plugins.barcodeScanner.scan(
    function (result) { 
     alert("We got a barcode\n" + 
      "Result: " + result.text + "\n" + 
      "Format: " + result.format + "\n" + 
      "Cancelled: " + result.cancelled); 
    }, 
    function (error) { 
     alert("Scanning failed: " + error); 
    }, 
    { 
     "preferFrontCamera" : true, // iOS and Android 
     "showFlipCameraButton" : true, // iOS and Android 
     "prompt" : "Place a barcode inside the scan area", // supported on Android only 
     "formats" : "QR_CODE,PDF_417", // default: all but PDF_417 and RSS_EXPANDED 
     "orientation" : "landscape" // Android only (portrait|landscape), default unset so it rotates with the device 
    } 
}; 

получаю эту ошибку:

Warning: Attempt to present <CDVbcsViewController: 0x15f30c400> on <MainViewController: 0x15dd4fab0> whose view is not in the window hierarchy! 
+0

еще не решена. пожалуйста помоги ? –

ответ

0

Делая это, я в состоянии сканировать QR-код прошивкой.

  • Добавить IOS Платформа:

    ionic platform add ios 
    
  • Установите ngCordova

    bower install ngCordova 
    
  • Добавлен Barcodescanner плагин, как это:

    cordova plugin add https://github.com/phonegap/phonegap-plugin-barcodescanner.git 
    
  • index.html

    <button class="button button-block button-positive" ng-click="scanBarcode()"> 
         <i class="icon ion-qr-scanner"></i> 
         Scan Now 
    </button> 
    
  • app.js

    angular.module('myApp', ['ionic','ngCordova']) // include ngCordova 
    
    // Scan 
    angular.module("myApp").controller('scanner',function($scope, $cordovaBarcodeScanner) { 
    $scope.scanBarcode = function() { 
    $cordovaBarcodeScanner.scan().then(function(imageData) { 
        alert(imageData.text); 
        console.log("Barcode Format -> " + imageData.format); 
        console.log("Cancelled -> " + imageData.cancelled); 
    }, function(error) { 
        console.log("An error happened -> " + error); 
    }); 
    }; 
    }); 
    

Моя nodejs версия: v5.5.0

PhoneGap Версия: 6.0.2

Ионные версия: 1.7.14

+0

Вы решили эту проблему? –

+0

сканер штрих-кода работает и пытается сканировать. но он не может получить результат ... –

+0

@AhmetDemir Я получаю результат и в ионной тоже. вы проверите с правильным штрих-кодом? – Pushpa

0

у меня есть проблемы сканера раньше, без причины, когда я нажимаю кнопку, чтобы стрелять функции сканера он дважды выстрелил ... так что я должен работать наоборот.

HTML

<button class="button button-positive" ng-click="scanBarcode()">Scan</button> 

контроллеры

$scope.scannerOpened = false; 

$scope.barcodeSearch = function() { 
    if(!$scope.scannerOpened) { 
     $scope.scannerOpened = true; 
     $ionicPlatform.ready(function() { 
      $cordovaBarcodeScanner.scan().then(
       function(result) { 
        alert(result); 
       }, 
       function(error) { 
        alert(error); 
       } 
      ).finally(function() { 
       $scope.scannerOpened = false; 
      }); 
     }); 
    } 
} 
+0

благодарим за ответ, но, к сожалению, İt не работает –

+0

Вы пытаетесь использовать ионную платформу. –

+0

Можете ли вы показать нам свою версию штрих-кода? «Ионный список плагинов» –

0

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
 
<widget id="com.ionicframework.Project" version="0.0.4" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0"> 
 
    <name>Masada</name> 
 
    <description> 
 
     Masada Mobile 
 
    </description> 
 
    <author email="[email protected]" href="http://example.com/"> 
 
     Company 
 
    </author> 
 
    <content src="index.html"/> 
 
    <access origin="*"/> 
 
    <preference name="webviewbounce" value="false"/> 
 
    <preference name="UIWebViewBounce" value="false"/> 
 
    <preference name="DisallowOverscroll" value="true"/> 
 
    <preference name="android-minSdkVersion" value="16"/> 
 
    <preference name="BackupWebStorage" value="none"/> 
 
    <preference name="SplashScreen" value="screen"/> 
 
    <preference name="AutoHideSplashScreen" value="true"/> 
 
    <preference name="ShowSplashScreenSpinner" value="true"/> 
 
    <preference name="SplashScreenDelay" value="3000"/> 
 
    
 
    
 
    <feature name="StatusBar"> 
 
    <param name="ios-package" value="CDVStatusBar" onload="true"/> 
 
    </feature> 
 
    <platform name="android"> 
 
    <splash src="resources\android\splash\drawable-land-ldpi-screen.png" density="land-ldpi"/> 
 
    <splash src="resources\android\splash\drawable-land-mdpi-screen.png" density="land-mdpi"/> 
 
    <splash src="resources\android\splash\drawable-land-hdpi-screen.png" density="land-hdpi"/> 
 
    <splash src="resources\android\splash\drawable-land-xhdpi-screen.png" density="land-xhdpi"/> 
 
    <splash src="resources\android\splash\drawable-land-xxhdpi-screen.png" density="land-xxhdpi"/> 
 
    <splash src="resources\android\splash\drawable-land-xxxhdpi-screen.png" density="land-xxxhdpi"/> 
 
    <splash src="resources\android\splash\drawable-port-ldpi-screen.png" density="port-ldpi"/> 
 
    <splash src="resources\android\splash\drawable-port-mdpi-screen.png" density="port-mdpi"/> 
 
    <splash src="resources\android\splash\drawable-port-hdpi-screen.png" density="port-hdpi"/> 
 
    <splash src="resources\android\splash\drawable-port-xhdpi-screen.png" density="port-xhdpi"/> 
 
    <splash src="resources\android\splash\drawable-port-xxhdpi-screen.png" density="port-xxhdpi"/> 
 
    <splash src="resources\android\splash\drawable-port-xxxhdpi-screen.png" density="port-xxxhdpi"/> 
 
    <icon src="resources\android\icon\drawable-ldpi-icon.png" density="ldpi"/> 
 
    <icon src="resources\android\icon\drawable-mdpi-icon.png" density="mdpi"/> 
 
    <icon src="resources\android\icon\drawable-hdpi-icon.png" density="hdpi"/> 
 
    <icon src="resources\android\icon\drawable-xhdpi-icon.png" density="xhdpi"/> 
 
    <icon src="resources\android\icon\drawable-xxhdpi-icon.png" density="xxhdpi"/> 
 
    <icon src="resources\android\icon\drawable-xxxhdpi-icon.png" density="xxxhdpi"/> 
 
    </platform> 
 
    <platform name="ios"> 
 
    <splash src="resources\ios\splash\[email protected]~iphone.png" width="640" height="1136"/> 
 
    <splash src="resources\ios\splash\Default-667h.png" width="750" height="1334"/> 
 
    <splash src="resources\ios\splash\Default-736h.png" width="1242" height="2208"/> 
 
    <splash src="resources\ios\splash\Default-Landscape-736h.png" width="2208" height="1242"/> 
 
    <splash src="resources\ios\splash\[email protected]~ipad.png" width="2048" height="1536"/> 
 
    <splash src="resources\ios\splash\Default-Landscape~ipad.png" width="1024" height="768"/> 
 
    <splash src="resources\ios\splash\[email protected]~ipad.png" width="1536" height="2048"/> 
 
    <splash src="resources\ios\splash\Default-Portrait~ipad.png" width="768" height="1024"/> 
 
    <splash src="resources\ios\splash\[email protected]~iphone.png" width="640" height="960"/> 
 
    <splash src="resources\ios\splash\Default~iphone.png" width="320" height="480"/> 
 
    <icon src="resources\ios\icon\icon.png" width="57" height="57"/> 
 
    <icon src="resources\ios\icon\[email protected]" width="114" height="114"/> 
 
    <icon src="resources\ios\icon\icon-40.png" width="40" height="40"/> 
 
    <icon src="resources\ios\icon\[email protected]" width="80" height="80"/> 
 
    <icon src="resources\ios\icon\icon-50.png" width="50" height="50"/> 
 
    <icon src="resources\ios\icon\[email protected]" width="100" height="100"/> 
 
    <icon src="resources\ios\icon\icon-60.png" width="60" height="60"/> 
 
    <icon src="resources\ios\icon\[email protected]" width="120" height="120"/> 
 
    <icon src="resources\ios\icon\[email protected]" width="180" height="180"/> 
 
    <icon src="resources\ios\icon\icon-72.png" width="72" height="72"/> 
 
    <icon src="resources\ios\icon\[email protected]" width="144" height="144"/> 
 
    <icon src="resources\ios\icon\icon-76.png" width="76" height="76"/> 
 
    <icon src="resources\ios\icon\[email protected]" width="152" height="152"/> 
 
    <icon src="resources\ios\icon\icon-small.png" width="29" height="29"/> 
 
    <icon src="resources\ios\icon\[email protected]" width="58" height="58"/> 
 
    <icon src="resources\ios\icon\[email protected]" width="87" height="87"/> 
 
    </platform> 
 
    <platform name="wp8"> 
 
    <splash src="resources\wp8\splash\SplashScreenImage.png" width="768" height="1280"/> 
 
    <icon src="resources\wp8\icon\ApplicationIcon.png" width="99" height="99"/> 
 
    <icon src="resources\wp8\icon\Background.png" width="159" height="159"/> 
 
    </platform 
 
    <icon src="resources\android\icon\drawable-xhdpi-icon.png"/> 
 
</widget>

enter image description here

0

Мой QR код состоял из 16 символов. Это стало причиной моей проблемы, теперь она решена. Спасибо @ Пушпа.

0

Обзор библиотеки ios, она содержит только следующие типы форматов, поэтому для iOS она не работает. Если вы найдете какой-то способ сканирования PDF417 в ios с помощью ионного, вы можете поделиться им!

typedef enum BarcodeFormat { 
    BarcodeFormat_None = 0, 
    BarcodeFormat_QR_CODE, 
    BarcodeFormat_DATA_MATRIX, 
    BarcodeFormat_UPC_E, 
    BarcodeFormat_UPC_A, 
    BarcodeFormat_EAN_8, 
    BarcodeFormat_EAN_13, 
    BarcodeFormat_CODE_128, 
    BarcodeFormat_CODE_39, 
    BarcodeFormat_ITF 
} BarcodeFormat; 

Я предлагаю вам рассмотреть ответ в phonegap-plugin-barcodescanner, type PDF417 bar-codes using ionic

+0

Как вы видите наверху, моя проблема уже решена. Моя проблема была не о PDF417, а о количестве символов генератора штрих-кода. –

Смежные вопросы