みなさん、Swiftは使っていますか?
Objective-Cのお付き合いが長いので、Swift自体、腰が重いのですが…
これから始める人や、AndroidのエンジニアがiOSの開発も…と言うときに移行しやすいでしょうか。
今回は、Swiftを使ってRoltoSDKを組み込んで印刷してみたいと思います。
1.RoltoSDKをダウンロードします。
2.Swiftのプロジェクトを作ります。
3.Rolto SDK内のライブラリーとヘッダーをプロジェクトに追加します。
・プロジェクトのフォルダー内に"Rolto SDK"の中に入っている"Lib"をコピーします。
・コピーした"Lib"をXcodeのプロジェクトに追加(ドラッグ)します。
4.ブリッジヘッダーを追加してRoltoPrint.hを参照出来るようにします。
RoltoPrint.hに#import <UIKit/Uikit.h>が入っていないので、ブリッジヘッダーに書きます。
プロジェクト設定のObjective-C Bridging Headerにパスを書きます。
5.下記のソースコードをViewController.swiftのoverride func viewDidLoad()の中に追加します。
とりあえず、今回は起動直後にロルトを検索して決め打ちのイメージを印刷するサンプルです。
パラメーターのエラーチェックや、印刷後のエラー処理等は入れていません。あしからず。
override func viewDidLoad() {super.viewDidLoad()// ロルト検索let dicover = RoltoPrintDiscover()dicover.searchPrintersWithCallback({print inlet image = UIImage(named:"EarlyTimes.jpg")let params: Dictionary = [RoltoPrintParameterBlockSize: 0.8,RoltoPrintParameterBinarizationOffset: 0.05,RoltoPrintParameterErrorDiffusion: false]// 印刷実行print.performPrintImage(image, params: params, completion: { result in})}, comletion:{() in}, duration:2)}
6.適当な画像をプロジェクトに追加します。
コードでは、
let image = UIImage(named:"EarlyTimes.jpg")
let image = UIImage(named:"EarlyTimes.jpg")
としましたので、”EarlyTimes.jpg”をプロジェクトに追加します。
7.C++でコンパイルされるように、C++用のソースを追加します。
拡張子は.mmで。中身は空で良いです。
8.コンパイラーを"libc++"から"libstdc++"に変更します。
SwiftからObjective-Cのライブラリーをただ呼び出すだけなので、Swiftのお作法通りに書き直せば動作します。
これからはSwiftのエンジニアが増えていくのでしょうか…
Rolto SDKを使用したアプリ「こよみ」好評発売中
こよみ
AirPrint非対応のプリンターにも印刷できる、「Prime Print」はこちらから
Prime Print
コメント