アプリケーションの開始時に、ユーザーは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;
}
};
EDIT:
は非同期ずにバーコードスキャナを使用しようとしましたが、私はまだ同じMSGを取得します。
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
asyncを使用する場合は、mobilebarcodescannerコントローラを作成する前にUIスレッドに切り替える必要があります。 =>ここでは非同期/待機を使用しないでください。代わりにスキャナ上で継続タスクを使用してください。Scan – Softlion
@dcorbattaはい、IOS 7+が実際に開発目標です。 –