A. ios macosx 與unix是什麼關系啊unix不開放源代碼,為何說蘋果承諾開源呢
macOSX是復合核心,有三個部分融合而成,這個復合的內核名為XNT,是開源項目。XNT=X is Not Unix,意思為「OSX不是UNIX」,而實際上OSX也並不是簡單的FreeBSD拿過來套上GUI,而是把內核整個改造了。仍屬於 類UNIX系統,注意不是unix,而是類unix。
XNT是開源的。加上一些驅動和系統程序的XNT被稱為Darwin,它曾經是開源項目,在OSX轉向x86架構後停止對x86部分的開源,但仍然對PowerPC部分開源。(這主要是因為喬布斯本人的性格原因,另外蘋果當時確實已經不需要開源社區來找bug了)
linux也是一種類unix,盡管它的實現原理和unix完全不同,但是它繼承了unix精神。
deb是debian系統的一種安裝包格式,debian是一種分支眾多的linux系統。主要分支基於Linux宏內核和GUN,典型的就是常見的ubuntu。非debian,例如fedora,就安裝不了deb,linux通用的安裝軟體方式只有編譯代碼,deb包對不同的linux是不通用的。所以安卓只是一個linux內核上開java虛擬機,不能安裝deb包。
IOS作業操作系統部分源於darwin,darwin是基於XNT內核的類UNIX系統,因此linux debian的deb是不能安裝在IOS上的。但是IOS上存在debian的apt系統,也就是說可以安裝對IOS封包的deb包,更可以利用Cydia這種帶UI的APT來安裝deb。
盡管喬布斯本人是對開源持不感冒態度,而且曾和另一個和他性格相近的大神Mr. Linus吵起來,
但是蘋果是世界最大的以開源為關鍵戰略的公司之一,這點不可否認。它家的開源項目還有webkit瀏覽器內核,現用於chrome、safari、各種第三方瀏覽器以及幾乎所有的ARM設備。蘋果還有幾個在更專業的領域里非常重要的開源項目,比如編譯器框架LLVM,異構編程框架OpenCL,服務發現協議實現Bonjour等,這些在各領域都是大名鼎鼎了,LLVM已經成為了創新的溫床之一,一大堆項目依賴於蘋果的開源項目。
B. iOS近場通信(藍牙開發,WiFi開發)
1 AirDrop (UIActivityViewController類)
功能:實現iOS設備間的文件和數據分享。AirDrop使用藍牙來掃描周圍的設備,當兩台設備通過藍牙建立起了連接,考慮到更快速的數據傳輸,它就會創建點對點的WiFi網路來連接兩部iOS 設備。但並不意味著為了使用AirDrop而需要把設備連接至WiFi網路。
傳輸方式:藍牙、WiFi
支持系統:iOS
http://www.cocoachina.com/instry/20131105/7295.html
2 GameKit 框架
功能:GameKit主要是完成iOS設備間聯網的相關功能,包括藍牙和Internet兩種方式。
傳輸方式:藍牙、WiFi
支持系統:iOS
http://www.cocoachina.com/bbs/read.php?tid=97953
3 MultipeerConnectivity 框架
功能:利用Multipeer Connectivity框架,即使在沒有連接到WiFi(WLAN)或移動網路(xG)的情況下,距離較近的Apple設備(iMac/iPad/iPhone)之間可基於藍牙和WiFi(P2P WiFi)技術進行發現和連接實現近場通信。
傳輸方式:藍牙、WiFi
支持系統:iOS
http://blog.csdn.net/phunxm/article/details/43450167
4 ExternalAccessory 框架
功能:External Accessory Framework提供了配件連接iOS設備的通道。開發者可以通過它來開發連接配件的app。配件可以通過30pin、藍牙、USB的方式連接iOS設備。
傳輸方式:藍牙、WiFi
支持系統:iOS
http://www.cnblogs.com/evangwt/archive/2013/04/04/2999661.html
5 CoreBluetooth 框架
功能:藍牙4.0協議之間信息傳輸,支持iOS和Android設備。
傳輸方式:藍牙
支持系統:iOS、Android
http://blog.csdn.net/pony_maggie/article/details/26740237
6 Socket
功能:通過TCP或UDP進行相同區域網內信息傳輸,支持iOS和Android設備。
傳輸方式:WiFi
支持系統:iOS、Android
http://blog.csdn.net/kesalin/article/details/8798039
7 Bonjour
功能:Bonjour是一種能夠自動查詢接入網路中的設備或應用程序的協議。Bonjour 抽象掉 ip 和 port 的概念,讓我們聚焦於更容易為人類思維理解的 service。通過 Bonjour,一個應用程序 publish 一個網路服務 service,然後網路中的其他程序就能自動發現這個 service,從而可以向這個 service 查詢其 ip 和 port,然後通過獲得的 ip 和 port 建立 socket 鏈接進行通信,支持iOS和Android設備。
傳輸方式:WiFi
支持系統:iOS、Android
http://www.cnblogs.com/kesalin/archive/2011/09/15/cocoa_bonjour.html
8 AllJoyn
功能:AllJoyn,由高通公司主導的高創新中心的開源項目開發的,主要用於近距離無線傳輸,通過WiFi或藍牙技術,定位和點對點文件傳輸。支持平台:RTOS、Arino、Linux、Android、iOS、Windows、Mac。
傳輸方式:藍牙、WiFi
支持系統:RTOS、Arino、Linux、Android、iOS、Windows、Mac
https://allseenalliance.org/framework/documentation/develop/tutorial/ios