Ich arbeite an einem Xamarin Forms PCL-Projekt für Android und iOS, das grundlegende Barcode-Scanfunktionen benötigt.ZXing-Barcodescanner in Xamarin Forms auf iOS liest keine Barcodes
Ich habe Dinge mit der Formularversion des ZXing.Net.Mobile Pakets nach this tutorial und Referenzierung this guide läuft und es funktioniert gut auf Android. Unter iOS wird die Kamera jedoch angezeigt, aber das Ereignis OnScanResult
wird nie ausgelöst.
Ich habe es auf mehreren iOS-Geräten getestet, die mehrere verschiedene Versionen (irgendwo zwischen 8.0 - 10.3) laufen lassen und mit allem, was ich mir vorstellen kann, herumgespielt und auch ihre Beispielprojekte referenziert. ZXing.Net.Mobile
und ZXing.Net.Mobile.Forms
Nugget-Pakete wurden in allen Projekten installiert.
Hier ist mein Scanner Code aus einem Tastendruck auf meiner Hauptseite ausgelöst:
var scanPage = new ZXingScannerPage();
scanPage.OnScanResult += (result) =>
{
scanPage.IsScanning = false;
Device.BeginInvokeOnMainThread(async() =>
{
await Navigation.PopAsync();
await DisplayAlert("Scanned Barcode", result.Text, "OK");
});
};
await Navigation.PushAsync(scanPage);
und AppDelegate.cs:
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
global::Xamarin.Forms.Forms.Init();
global::ZXing.Net.Mobile.Forms.iOS.Platform.Init();
LoadApplication(new App());
return base.FinishedLaunching(app, options);
}
Nach zwei Tagen mit diesem Kampf, ich, wie ich fühle Bin am Ende meiner Weisheit. Hat jemand andere ähnliche Probleme festgestellt? Danke für jede Anleitung!
Edit 1
Hier ist das Gerät Protokollausgabe (Message Spalte nur), wenn die Schaltfläche klicken Sie den obigen Code auszulösen. Wenn die Kamera geöffnet ist und auf verschiedene Barcodes zeigt, werden keine Protokollelemente hinzugefügt. Ich sehe hier nichts Verdächtiges, aber vielleicht jemand anderes?
- PERF: Alloc AVCaptureVideoPreviewLayer dauerte 14.14 ms.
- AppleH4CamIn :: power_on_hardware
- AppleH4CamIn :: ISP_SelectBestMIPIFrequencyIndex_gated - Kanal: 0, index: 0
- StartScanning
- AppleH4CamIn :: setPowerStateGated: 1
- ZXingScannerView.Setup() nahm 0,167 ms.
- ASL Sender Statistiken
- AppleH4CamIn :: ISP_FlushInactiveDARTMappings: 0x00000000
- AppleH4CamIn :: ISP_SelectBestMIPIFrequencyIndex_gated - Kanal: 0, Index: 0
bearbeiten 2
lief ich die Probe Xamarin Forms PCL aus der github repo und habe die gleichen Probleme auf iOS mit der Kamera Öffnung gut, aber kein Barcode jemals gelesen. Daher denke ich, dass das Problem mit meinem Visual Studio und/oder Xamarin Setup sein muss. Ich verwende Visual Studio 2015 Community auf dem stabilen Xamarin-Kanal.
verwenden Sie tatsächlich den Debugger, um zu überprüfen, ob OnScanResult nicht aufgerufen wird, oder sich nur auf die Warnung/Navigation verlassen, um Ihnen zu sagen? – Jason
Ich bin durchgetreten und ich sehe nicht, dass es angerufen wird. Ich bringe auch das Geräteprotokoll hoch, während es läuft, und alles sieht gut aus, ohne dass Fehler ausgelöst werden. –