2016年8月16日 星期二

Finger Print 指紋碟 Mac OS X Development

Finger Print  for Mac OS X這樣的產品見過嗎?或許您會說Finger Print 本來就support Mac OS X,然而市售Finger Print指紋碟都有個操作設定介面,否則如何將產品使用者的指紋設定到裝置裡面呢?而這樣的設定介面軟體,目前都是Only for Windows.(改天再來搞各Android版本).
隨身碟的用意就是走到哪用到哪,因為攜帶方便,但若真要隨處可用,軟體本身的支援不夠就等於是跛腳產品。因此今天的主角就是針對指紋碟開發可在Mac OS X操作設定介面的軟體。也就是說我已經完成此產品Mac OS X solution(support:10.7~10.11)的整個專案,在此只記錄一些開發過程又無關機密問題的敘述。
產品連結: RHINO ARMOR犀牛甲指紋辨識碟 USB3.0 64GB (但目前該項產品尚未將 Mac OS X功能整合進去).
操作畫面截圖(screenshot)在OS X El Capitan:



Mac OS X USB SCSI command其實並不完全支援,需另外寫驅動kext,才能使standard SCSI command(Vendor command) 能順利下command到裝置。這部分其實不難,網路上有相關sample code可以參考。討厭的是從OS X 10.10版開始,kext強制要code sign(憑證簽署(就是要成為已付費Develop ID[就是要你付每年100美金]))才能正確載入系統。code signing的過程稍後說明。然而開發階段系統可設定kext-dev-mode,使kext不須憑證仍可被載入系統。切到dev mode,10.10 Yosemite 及10.11 El Capitan作法完全不同,說明如下:
10.10:
    $sudo nvram boot-args= kext-dev-mode=1
10.11:
    先進入Recovery OS Mode,並開啟terminal,輸入如下指令:
    #csrutil disable
    #reboot
然而正規產品release,不可能要求使用者自行切換kext-dev-mode,何況這還會有安全疑慮。

App開發當然使用Xcode,因為Xamarin要錢.
開新專案設定時,記得linking選項加入-framework IOKit -framework CoreFoundation
...改天再續
新增多國語言版本截圖




--> 閱讀更多...