iOS development
一般iOS開(kāi)發(fā)者做APP開(kāi)發(fā)大部分時(shí)候都是通過(guò)Http(s)請求跟后臺服務(wù)器打交道,做一些信息展示和用戶(hù)交互。很少涉及到去跟外部硬件設備連接的開(kāi)發(fā)。隨著(zhù)近年來(lái)車(chē)聯(lián)網(wǎng)和物聯(lián)網(wǎng)的興起,智能家居和智能硬件的逐步火熱,越來(lái)越多的app被開(kāi)發(fā)出來(lái),用來(lái)跟硬件設備進(jìn)行來(lái)連接,獲取硬件相關(guān)信息展示或者發(fā)送指令控制硬件來(lái)提供服務(wù)。故本文就針對iOS的app如何跟外部設備進(jìn)行連接通信這個(gè)問(wèn)題跟大家交流一下,如有不正確的地方懇請各位看官指正。本文原創(chuàng ),歡迎轉載,轉載請注明出處。
如上圖所示,我把iOS App連接外設的常用方式總結了一下,可以分為三大類(lèi):
iOS App連接外部硬件方式第一類(lèi)是通過(guò)網(wǎng)絡(luò )端口
建立Socket使用TCP/IP協(xié)議族進(jìn)行通信,天然支持多通道,想要幾個(gè)通道就建幾個(gè)socket就行了。它主要有三種方式,第一種方式是Wi-Fi連接,優(yōu)點(diǎn)是:簡(jiǎn)單,不需要集成MFi芯片,只要對應的硬件有無(wú)線(xiàn)網(wǎng)卡,然后手機和硬件連接到同一個(gè)局域網(wǎng)中就可以使用socket通過(guò)網(wǎng)絡(luò )協(xié)議通信了。缺點(diǎn)也很明顯:(1)無(wú)線(xiàn)連接信號容易受到干擾,不太穩定,容易斷開(kāi);(2)如果硬件使用的場(chǎng)合沒(méi)有公共wifi,就需要手機自建熱點(diǎn)共享,硬件進(jìn)行熱點(diǎn)接入,操作步驟較多,對用戶(hù)來(lái)說(shuō)學(xué)習使用成本較高,并且熱點(diǎn)共享要求手機本身的數據移動(dòng)網(wǎng)絡(luò )是穩定的,在沒(méi)有移動(dòng)數據網(wǎng)絡(luò )信號的地方,熱點(diǎn)無(wú)法建立。