Skip to content

App crashes when clicking on scan button #746

@noelfernandes

Description

@noelfernandes

Hi there,

I am running a Xamarin Forms .NET Standard project with the following versions:

Xamarin Forms : 3.0.0.561731
.NET Standard Library : v2.0.1
ZXing.Net.Mobile.Forms : 2.4.1
Testing on iPhone 6, iOS 11.4

The project is also available on my github at this location.

After reading a lot of articles and the documentation, I have implemented ZXing as follows:

Core Project

Services/IBarcodeScannerService.cs
public interface IBarcodeScannerService
{
Task<string> ScanAsync();
}

MainPage.xaml
<StackLayout>
<!-- Place new controls here -->
<Button x:Name="BttnScan" Text="Scan" HorizontalOptions="Center"
VerticalOptions="CenterAndExpand" Clicked="BttnScan_Clicked" />
<Label x:Name="TxtScanResults" Text="Welcome to Xamarin.Forms!" HorizontalOptions="Center"
VerticalOptions="CenterAndExpand" />
</StackLayout>

MainPage.xaml.cs

public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}

private async void BttnScan_Clicked(object sender, EventArgs e)
{
try
{
var scanner = DependencyService.Get<IBarcodeScannerService>();
var result = await scanner.ScanAsync();
if (result != null)
TxtScanResults.Text = result;
}
catch (Exception ex)
{
throw;
}
}
}

iOS Project

AppDelegate.cs
public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
{
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
global::Xamarin.Forms.Forms.Init();
ZXing.Net.Mobile.Forms.iOS.Platform.Init();
LoadApplication(new App());
return base.FinishedLaunching(app, options);
}

Services/BarcodeScannerService.cs
[assembly:Dependency(typeof(BarcodeApp.iOS.Services.BarcodeScannerService))]
namespace BarcodeApp.iOS.Services
{
public class BarcodeScannerService : IBarcodeScannerService
{
public async Task<string> ScanAsync()
{
var scanner = new MobileBarcodeScanner();
var scanResults = await scanner.Scan();
return (scanResults != null) ? scanResults.Text : string.Empty;
}
}
}

Every time I hit the 'Scan' button on the xaml page, the app crashes as it is about to launch the scanner. The output window on the VS spews out the following:

Loaded assembly: /private/var/containers/Bundle/Application/EEE6188F-D223-427B-99FC-19F78FE70005/BarcodeApp.iOS.app/ZXing.Net.Mobile.Forms.dll [External]
Loaded assembly: /private/var/containers/Bundle/Application/EEE6188F-D223-427B-99FC-19F78FE70005/BarcodeApp.iOS.app/ZXing.Net.Mobile.Forms.iOS.dll [External]
Loaded assembly: /private/var/containers/Bundle/Application/EEE6188F-D223-427B-99FC-19F78FE70005/BarcodeApp.iOS.app/Xamarin.Forms.Xaml.dll [External]
Loaded assembly: /private/var/containers/Bundle/Application/EEE6188F-D223-427B-99FC-19F78FE70005/BarcodeApp.iOS.app/BarcodeApp.dll
Loaded assembly: /private/var/containers/Bundle/Application/EEE6188F-D223-427B-99FC-19F78FE70005/BarcodeApp.iOS.app/BarcodeApp.iOS.exe
Thread started: #3
Thread started: #4
Thread started: #5
Thread started: #6
2018-06-15 19:21:23.988 BarcodeApp.iOS[760:940637] Starting to scan...
2018-06-15 19:21:24.053 BarcodeApp.iOS[760:940637] ZXingScannerView.Setup() took 49.335 ms.
2018-06-15 19:21:24.054 BarcodeApp.iOS[760:940637] StartScanning
2018-06-15 19:21:24.087 BarcodeApp.iOS[760:940668] critical:
Native stacktrace:
2018-06-15 19:21:24.088 BarcodeApp.iOS[760:940668] critical: 0 BarcodeApp.iOS 0x0000000101bbfaf8 BarcodeApp.iOS + 20216568
2018-06-15 19:21:24.088 BarcodeApp.iOS[760:940668] critical: 1 libsystem_platform.dylib 0x0000000182860b58 _sigtramp + 52
2018-06-15 19:21:24.088 BarcodeApp.iOS[760:940668] critical: 2 libsystem_kernel.dylib 0x00000001826be968 + 100
2018-06-15 19:21:24.088 BarcodeApp.iOS[760:940668] critical: 3 libsystem_kernel.dylib 0x00000001826be994 system_set_sfi_window + 0
2018-06-15 19:21:24.089 BarcodeApp.iOS[760:940668] critical: 4 TCC 0x000000018580a9b4 + 0
2018-06-15 19:21:24.089 BarcodeApp.iOS[760:940668] critical: 5 TCC 0x000000018580a8e8 + 0
2018-06-15 19:21:24.089 BarcodeApp.iOS[760:940668] critical: 6 TCC 0x000000018580e12c + 296
2018-06-15 19:21:24.089 BarcodeApp.iOS[760:940668] critical: 7 libxpc.dylib 0x000000018289e700 + 60
2018-06-15 19:21:24.089 BarcodeApp.iOS[760:940668] critical: 8 libxpc.dylib 0x000000018289e63c + 88
2018-06-15 19:21:24.089 BarcodeApp.iOS[760:940668] critical: 9 libdispatch.dylib 0x0000000182531178 + 16
2018-06-15 19:21:24.089 BarcodeApp.iOS[760:940668] critical: 10 libdispatch.dylib 0x0000000182548bec + 320
2018-06-15 19:21:24.089 BarcodeApp.iOS[760:940668] critical: 11 libdispatch.dylib 0x0000000182537a44 + 396
2018-06-15 19:21:24.089 BarcodeApp.iOS[760:940668] critical: 12 libdispatch.dylib 0x000000018253dcac + 588
2018-06-15 19:21:24.089 BarcodeApp.iOS[760:940668] critical: 13 libdispatch.dylib 0x000000018253d9fc + 120
2018-06-15 19:21:24.090 BarcodeApp.iOS[760:940668] critical: 14 libsystem_pthread.dylib 0x0000000182863fac _pthread_wqthread + 1176
2018-06-15 19:21:24.090 BarcodeApp.iOS[760:940668] critical: 15 libsystem_pthread.dylib 0x0000000182863b08 start_wqthread + 4
2018-06-15 19:21:24.090 BarcodeApp.iOS[760:940668] critical:

Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.

The app has been terminated.
Failed to Stop app: An error occured on client IDB410101 while executing a reply for topic xvs/idb/4.10.10.1/stop-app
The app has been terminated.

I'm attaching a short video here as well
BarcodeErrorScreenRecording2.zip

Appreciate if I could get some help at the earliest.

Thanks
Noel

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions