2016-08-15 12 views
6

AirPrint経由でデバイスからアクセス可能なすべてのプリンタのリストを表示したいと思います。アクセス可能なAirPrintプリンタのリスト

UIPrinterPickerControllerを使用して動作します。

このPickerControllerをカスタム方法で表示していますか。たとえば、データをUITableViewに入力するとしますか?

はまた、私はここでしかUIPrinterPickerController.presentFromRect(CGRect)

をサポートし、それが今どのように見えるかのiPad上でこのアプリを使用することを計画していますことに注意してください。代わりに、このポップアップのNSNetServiceBrowserはこのために正確であるUITableView

Printer Popup

+0

を 'printerPickerControllerを持つ場合、私は思ったんだけどそれは各プリンタに対して呼び出されるべきであるからです。あなたは、 'UIPrinterPickerController'を呼び出す必要があるかもしれません(そして非表示にするか、画面の不可視部分で、すばやく却下して、デリゲートメソッドが呼び出されるべきとき、つまりcell willShowか、既に設定されているかどうかわかりません) 'UIPrinterPickerControllerDelegate'の以前のメソッドが呼び出されるようにします。 – Larme

答えて

2

があるはずです。あなたが何をする必要があるか要するに

は、次のとおりです。

1))NSNetServiceBrowserDelegate 2としてオブジェクトを設定NSNetServiceBrowserオブジェクト 3)への様々なフィードバックを得るでしょうbrowserObject.searchForServices(ofType: "_printer._tcp.", inDomain: "")を使用してデリゲート 4)を割り当てるを作成しますデリゲート。私の最後の

簡単なテストが得た:デリゲートメソッドの

didFind: Samsung C460 Series (SEC001174EDCB63) 

:shouldShowPrinter:: `すべて` UIPrinter`を取得することができます

func netServiceBrowser(_ browser: NetServiceBrowser, didFind service: NetService, moreComing: Bool) { 
    print("didFind: \(service.name)") 
} 
+0

これは今のところよく見ています。私自身はAirPrintプリンタを持っていないので、来週のみテストすることができます – smnk

+0

objective-c/swiftの知識がなくてもこの答えを理解しようとしていた私にとって、これはhttps: 。 –

関連する問題