因此,在我的應用程序開始時,用戶必須能夠掃描QR碼。在應用程序設置中,用戶可以掃描另一個條形碼來更改設置中的一些數據。MonoTouch,ZXing:呈現ZXingScannerViewController失敗
在我的應用程序掃描儀開始工作得很好,但是當我嘗試掃描條形碼的settingsVC內我得到以下警告:
Warning: Attempt to present ZXing.Mobile.ZXingScannerViewController: 0x18036dc0 on UINavigationController: 0x16d8afe0 whose view is not in the window hierarchy!
我已經嘗試來調用viewDidAppear
掃描,但我得到同樣的警告。
button_ScanAPI.TouchUpInside += async (sender, e) => {
var scanner = new ZXing.Mobile.MobileBarcodeScanner();
var result = await scanner.Scan();
if (result != null) {
textField_APIKey.Text = result.Text;
}
};
編輯:
嘗試使用條碼掃描器不異步,但我仍然得到同樣的味精。
var scanner = new ZXing.Mobile.MobileBarcodeScanner();
scanner.Scan (true).ContinueWith (t => {
if (t.Result != null) {
InvokeOnMainThread (() => {
textField_APIKey.Text = t.Result.Text;
});
}
});
我使用導致同樣的錯誤AVFoundation也試過:
Warning: Attempt to present <AVCaptureScannerViewController: 0x16fb1d00> on <UINavigationController: 0x16ebe790> whose view is not in the window hierarchy!
EDIT2:
這是我的應用程序內的流動的一部分。
什麼是版本目標?你正在開發iOS 7+嗎? – dcorbatta
如果使用異步,則必須在創建mobilebarcodescanner控制器之前切換到UI線程。 =>不要在這裏使用異步/等待。而是在掃描儀上使用延續任務。掃描 – Softlion
@dcorbatta是的IOS 7+確實是發展中的目標。 –