女神鎮(zhèn)樓!
實(shí)用技術(shù)總結(jié):
必須添加的依賴(lài)庫(kù)如下(Xcode 7 下 .dylib庫(kù)后綴名更改為.tbd):
每個(gè)使用技術(shù)所需要使用的框架和主要類(lèi)
基本原理.
- 首先注意訪問(wèn)用戶隱私這些需要訪問(wèn)privicy(私人開(kāi)頭)iOS10之后
- 大多數(shù)需要判斷應(yīng)用權(quán)限
2.1. 獲取status
2.2. 根據(jù)status判斷application有沒(méi)有改變過(guò)用戶權(quán)限
2.3. 如果沒(méi)有,請(qǐng)求權(quán)限.
2.4. 判斷權(quán)限狀態(tài),并且用戶拒絕時(shí),不能自動(dòng)開(kāi)發(fā),需要提示用戶手動(dòng)打開(kāi)關(guān)閉的權(quán)限. - 使用硬件,需要判斷硬件是否支持.
1. 定位與地圖
- CoreLocation和MapKit
CoreLocation需要使用的主要類(lèi)
- CLLocationManager管理位置
- CLLocation位置信息
- heading的方向信息
- CLRegion區(qū)域有關(guān)
- 位置詳情CLGeoCoder和CLPlacemark,地理編碼和反地理編碼
MapKit需要使用的主要類(lèi)
- MKMapView顯示地圖
- MKAnnotation注釋,大頭針采用的是M - V模式.
- MKUserLocation大頭針視圖的數(shù)據(jù)模型
- MKAnnotationView大頭針視圖的視圖模型
使用百度地圖SDK總結(jié):BMK開(kāi)頭
- 需要根據(jù)官網(wǎng)配置和注意事項(xiàng),以前的是.a一個(gè)包,現(xiàn)在分開(kāi)了.
- 根據(jù)提示寫(xiě)授權(quán)代碼,注意使用相關(guān)類(lèi)的代理引用位置問(wèn)題.
注意: 大多數(shù)是通過(guò)代理完成回調(diào),代理方法內(nèi)實(shí)現(xiàn)相關(guān)功能.
二維碼技術(shù)
主要框架:生成,識(shí)別CoreImage,檢測(cè)AVFoundation.
生成的主要類(lèi):CIFilter找到二維碼濾鏡(強(qiáng)大還有很多其他的濾鏡)
識(shí)別的主要類(lèi):CIDetector(檢查器)
注意:測(cè)試證明CIImage無(wú)法通過(guò)UIImage直接得到,需要將其轉(zhuǎn)化為CGImage.掃描框架:AVFoundation.
主要類(lèi):AVCapture開(kāi)頭的.
原理:輸入端:AVCaptureDeviceInput,輸出端:AVCaptureMetadataOutput,會(huì)話端AVCaptureSession.
封裝和框架:
框架時(shí)一系列功能相關(guān)的類(lèi),功能,集成到一起,作為一個(gè)文件給你.
封裝是一個(gè)過(guò)程.
通訊錄技術(shù)
iOS隱私中,這種UI可見(jiàn)的操作,不需要配置info隱私,默默的獲取數(shù)據(jù)才需要配置info.并且需要用戶授權(quán),進(jìn)行授權(quán)操作.
iOS9.0之前:(使用C語(yǔ)言的數(shù)據(jù)類(lèi)型)
1. AddressBook
2. AddressBookUI
1. ABPersonViewController:聯(lián)系人選擇器
2. 代理取聯(lián)系人信息
iOS9.0之后:(使用OC對(duì)象來(lái)開(kāi)發(fā))
1. Contact - 沒(méi)有提供界面,直接操作數(shù)據(jù)
2. ContactUI - 提供界面
3. 主要類(lèi)
1. CNContactStore聯(lián)系人儲(chǔ)存,通訊錄
2. CNContactFetchRequest:聯(lián)系人信息(如電話,郵箱,姓名等)的`索引請(qǐng)求`
1. CNContactPickerViewController:聯(lián)系人選擇器
2. 點(diǎn)擊聯(lián)系人獲取信息.代理