我在Xamarin工作表單PCL項目針對Android和iOS設備上需要一些基本的條形碼掃描功能。斑馬線條形碼掃描器無法讀取條形碼
我得到的東西了,並與形式的版本ZXing.Net.Mobile包的下面this tutorial和引用this guide運行,它在Android上的偉大工程。然而,iOS上的攝像頭出現,但OnScanResult
事件從來沒有發射。
我測試過它上運行多個不同版本的幾個iOS設備(從8.0的任何地方 - 10.3),並與所有我能想到的撥弄,引用他們的樣本項目,以及。 ZXing.Net.Mobile
和ZXing.Net.Mobile.Forms
的NuGet包被安裝在所有的項目。
這裏是我的掃描儀的代碼,從按下按鈕觸發了我的主頁上:
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);
和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);
}
後這個兩天的戰鬥,我覺得像我我的智慧結束了。有沒有其他人遇到類似的問題?感謝您的任何指導!
編輯1
這裏的設備日誌輸出(消息列僅)點擊按鈕時觸發上面的代碼。攝像機打開並指向各種條形碼時,不會添加任何日誌項目。我在這裏沒有看到任何可疑的東西,但也許其他人呢?
- PERF:Alloc AVCaptureVideoPreviewLayer花了14.14毫秒。
- AppleH4CamIn :: power_on_hardware
- AppleH4CamIn :: ISP_SelectBestMIPIFrequencyIndex_gated - 信道:0,指數:0
- StartScanning
- AppleH4CamIn :: setPowerStateGated:1
- ZXingScannerView.Setup()把0.167毫秒。
- ASL發件人統計
- AppleH4CamIn :: ISP_FlushInactiveDARTMappings:00000000
- AppleH4CamIn :: ISP_SelectBestMIPIFrequencyIndex_gated - 信道:0,指數:0
編輯2
我跑的樣品Xamarin形式PCL從github repo時遇到iOS上同樣的問題與攝像機開孔罰款,但沒有條形碼讀過。因此,我認爲這個問題必須與我的Visual Studio和/或Xamarin設置。我在穩定的Xamarin頻道上運行Visual Studio 2015社區。
實際上是否使用調試器來驗證OnScanResult沒有被調用,或者只是依靠警報/導航告訴你? – Jason
我已經通過它了,我沒有看到它被調用。我還在運行時啓動設備日誌,並且一切看起來都不錯,沒有錯誤觸發。 –