update.iOS8からUIPrinterPickerControllerというクラスが追加され、AirPrintの方法がさらにやりやすくなりました。今回はUIPrinterPickerControllerを使って、AirPrintでiPhoneから印刷する方法をまとめてみたいと思います。Simulator.appのダウンロード開発にあたり、AirPrint対応のプリンターがなければいけないかとおもいきや、Appleからプリンターのシュミレーターアプリが提供されています。Simulator.appですこれを使えば、実際にプリンターがなくても、AirPrintを使った機能の開発が進められます。Toolsとして提供されています。7.3を選択し、Hardware_IO_Tools_for_Xcode_7.3.dmgをダウンロードします。Simulator.appが入っています。Simulator.appを選択できるようにしましょう。Simulator.appのコピーを置きます。Simulator.appが選択可能になります。UIPrinterPickerControllerを使ったAirPrint実装方法さて、コードの話に移りましょう。Simulator.appをダブルクリックで起動しておきます。UIButton)を作成します。}解説まずUIPrinterPickerControllerをインスタンス化します。printerPickerControllerWithInitiallySelectedPrinter:メソッドを実行します。引数のinitiallySelectedPrinterは予めプリンターを選択する場合は指定します。指定がなければnilにします。nilにすることで印刷できるプリンターを全てピッカーで表示させることができます。presentAnimated:completionHandler:を実行して、印刷可能なプリンターのリストを表示するピッカーを表示します。引数がアニメーションをするかどうか、第二引数がピッカーが非表示になった場合に行う処理を指定できます。今回はprintToPrinter(_:)メソッドを実行して印刷を実行しています。実行これを実行すると使用可能なプリンターリストがピッカーで表示されます。セルをタップしてプリンターを選択すると、印刷されます。Simulator.appを起動していれば、印刷結果がPDFで表示されます。ピッカーを表示せずに印刷する方法いつもピッカーを表示してプリンターを表示するのが煩わしい場合があります。プリンター選択のピッカーを表示しなくてもプリントすることができます。プリンターのippsURLを取得しておく必要があります。"ipps://xxxxxxxxx")!))でUIPrinterPickerControllerインスタンス生成時にinitiallySelectedPrinterにUIPrinterのURLを指定すれば、そのプリンターを選択した状態でインスタンスを生成することができます。presentAnimated:completionHandler:でアニメーションをfalseにして表示して、すぐにprinterPicker.dismissAnimated(false)でUIPrinterPickerControllerインスタンスを非表示にします。これで指定プリンターにピッカー非表示でプリントができます。upLoginユーザーは見つかりませんでした。