在之前的版本是可以使用UDID獲取iOS設(shè)備唯一標(biāo)識(shí):
創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供博樂(lè)網(wǎng)站建設(shè)、博樂(lè)做網(wǎng)站、博樂(lè)網(wǎng)站設(shè)計(jì)、博樂(lè)網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、博樂(lè)企業(yè)網(wǎng)站模板建站服務(wù),十多年博樂(lè)做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
但是iOS5及以后,被蘋果禁止使用了(棄用了)
而直接獲取的UUID系統(tǒng)不會(huì)存儲(chǔ),每次調(diào)用的時(shí)候都會(huì)獲得一個(gè)新的UUID標(biāo)示符
一般獲取UUID的方法如下
我們可以通過(guò)持久存儲(chǔ)這個(gè)標(biāo)識(shí)符,來(lái)保證即使重新加載,刪除后重裝應(yīng)用都能夠唯一標(biāo)識(shí),以下的方式通過(guò)獲取到UUID后存入系統(tǒng)中的keychain中,來(lái)保證以后每次可以得到相同的唯一標(biāo)志。
project -》Capablities-》打開(kāi)Keychain Sharing開(kāi)關(guān)
您好,手機(jī)E先生為您解答!
UDID 是由子母和數(shù)字組成的40個(gè)字符串的序號(hào),用來(lái)區(qū)別每一個(gè)唯一的iOS設(shè)備,可以通過(guò) iTunes 來(lái)查詢 UUID 的方法。
一、把 iPhone 與電腦用數(shù)據(jù)線連接起來(lái),打開(kāi) iTunes 軟件。點(diǎn)擊 iTunes 右上方的“iPhone”圖標(biāo)
二、在 iPhone 摘要頁(yè)面,請(qǐng)點(diǎn)擊“序列號(hào)”一欄
三、當(dāng)我們點(diǎn)擊序列號(hào)以后,軟件會(huì)顯示設(shè)備標(biāo)識(shí)符(UUID)。如果需要保存 iPhone 的UUID,請(qǐng)點(diǎn)擊用鼠標(biāo)右鍵來(lái)復(fù)制標(biāo)識(shí)符
祝您生活愉快,如果對(duì)我的回答滿意請(qǐng)采納,謝謝
//初始化藍(lán)牙
initBlue() {
var that = this;
wx.openBluetoothAdapter({ //調(diào)用微信小程序api 打開(kāi)藍(lán)牙適配器接口
success: function (res) {
console.log('1.初始化藍(lán)牙成功')
},
//監(jiān)聽(tīng)手機(jī)藍(lán)牙的開(kāi)關(guān)
monitorTheBlue:function(){
var that =this;
wx.onBluetoothAdapterStateChange(function(res){
})
},
//開(kāi)始獲取附近的藍(lán)牙設(shè)備
//. 獲取到附近的藍(lán)牙數(shù)組 通過(guò)藍(lán)牙特定的名稱獲取自己想要連接的藍(lán)牙設(shè)備
//. 獲取附近藍(lán)牙設(shè)備的數(shù)組
findBlue() {
console.log(new Date())
var that = this
wx.startBluetoothDevicesDiscovery({
allowDuplicatesKey: false,
interval: 0,
success: function (res) {
console.log('2.正在搜索設(shè)備.............')
if (that.data.isFirestShow) {
wx.showLoading({
title: '正在搜索設(shè)備'
})
}
},
//搜索獲取附近的所有藍(lán)牙設(shè)備 獲取附近所有的藍(lán)牙設(shè)備的相關(guān)信息 獲取需要連接藍(lán)牙設(shè)備的deviceID
//. 通過(guò)bluetoothDeviceName 和 localName 來(lái)確定制定藍(lán)牙
//. 一般根據(jù)制定設(shè)備的名字去連接 設(shè)備的名字 是出產(chǎn)廠家設(shè)定
getBlue() {
var that = this
wx.getBluetoothDevices({
success: function (res) {
console.log('3.找到設(shè)備列表........')
wx.hideLoading()
// return false
var index = 10
for (var i = 0; i res.devices.length; i++) {
if (res.devices[i].name res.devices[i].localName) {
var arr = res.devices[i].name.split("-")
var secArr = res.devices[i].localName.split("-")
if (arr[0] == that.data.bluetoothDeviceName || secArr[0] == that.data.bluetoothDeviceName) {
},
//連接藍(lán)牙設(shè)備
//通過(guò)deviceId 連接藍(lán)牙
/**
},
//6 連接上需要的藍(lán)牙設(shè)備之后,獲取這個(gè)藍(lán)牙設(shè)備的服務(wù)uuid
//獲取設(shè)備的uuid
getServiceId() {
var that = this
wx.getBLEDeviceServices({
// 這里的 deviceId 需要已經(jīng)通過(guò) createBLEConnection 與對(duì)應(yīng)設(shè)備建立鏈接
deviceId: that.data.deviceId,
success: function (res) {
var model = res.services[1]
that.setData({
servicesUUID: model.uuid
})
console.log('7.獲取設(shè)備 uuid 成功....')
that.getCharacteId() //6.0
}
})
},
//7 如果一個(gè)藍(lán)牙設(shè)備需要進(jìn)行數(shù)據(jù)的寫入以及數(shù)據(jù)傳輸,就必須具有某些特征值,所以通過(guò)上面步驟獲取的id可以查看當(dāng)前藍(lán)牙設(shè)備的特征值
//notify write read 當(dāng)只有 notify為true的時(shí)候才能 接收藍(lán)牙設(shè)備傳來(lái)的數(shù)據(jù),
//write 為true 才能傳入數(shù)據(jù)
//read 為true 才能讀取設(shè)備數(shù)據(jù)
getCharacteId() {
var that = this
wx.getBLEDeviceCharacteristics({
// 這里的 deviceId 需要已經(jīng)通過(guò) createBLEConnection 與對(duì)應(yīng)設(shè)備建立鏈接
deviceId: that.data.deviceId,
// 這里的 serviceId 需要在上面的 getBLEDeviceServices 接口中獲取
serviceId: that.data.servicesUUID,
success: function (res) {
for (var i = 0; i res.characteristics.length; i++) { //2個(gè)值
var model = res.characteristics[i]
if (model.properties.notify == true) {
that.setData({
characteristicId: model.uuid //監(jiān)聽(tīng)的值
})
console.log('8.model.properties.notify == true')
that.startNotice(model.uuid) //7.0
}
// if (model.properties.read == true) {
// that.readData(model.uuid)
// }
// if (model.properties.write == true) {
// that.setData({
// writeId: model.uuid//用來(lái)寫入的值
// })
// }
}
}
})
},
fordateTime1(){
let now = new Date(),hour = now.getHours()
console.log(hour)
let str = ''
if(hour 7){str = '早餐前'}
else if ((7 hour) (hour= 9)){str = '早餐后'}
else if ((9 hour) (hour= 11)){str = '午餐前'}
else if ((11 hour) (hour= 13)){str = '午餐后'}
else if ((13 hour) (hour= 17)){str = '晚餐前'}
else if ((17 hour) (hour= 19)){str = '晚餐后'}
else if ((19 hour) (hour= 24)){str = '睡覺(jué)前'}
return str
},
//8 如果一個(gè)藍(lán)牙設(shè)備需要進(jìn)行數(shù)據(jù)的寫入以及數(shù)據(jù)傳輸,就必須具有某些特征值,所以通過(guò)上面步驟獲取的id可以查看當(dāng)前藍(lán)牙設(shè)備的特征值
//開(kāi)啟設(shè)備數(shù)據(jù)監(jiān)聽(tīng) 監(jiān)聽(tīng)藍(lán)牙設(shè)備返回來(lái)的數(shù)據(jù)
startNotice(uuid) {
var that = this;
wx.notifyBLECharacteristicValueChanged({
state: true, // 啟用 notify 功能
deviceId: that.data.deviceId,
serviceId: that.data.servicesUUID,
characteristicId: uuid, //第一步 開(kāi)啟監(jiān)聽(tīng) notityid 第二步發(fā)送指令 write
success: function (res) {
// that.closeConnect(that.data.deviceId)
// 設(shè)備返回的方法
let tip = 0
wx.onBLECharacteristicValueChange(res1 = {
},
/**
//監(jiān)聽(tīng)藍(lán)牙設(shè)備是否會(huì)異常斷開(kāi)
getTheBlueDisConnectWithAccident() {
},
// 斷開(kāi)設(shè)備連接
closeConnect: function(v) {
var that = this
if (v) {
wx.closeBLEConnection({
deviceId: v,
success: function(res) {
console.log("藍(lán)牙斷開(kāi)連接")
that.closeBluetoothAdapter()
},
fail(res) {
}
})
} else {
that.closeBluetoothAdapter()
}
},
// 關(guān)閉藍(lán)牙模塊
closeBluetoothAdapter:function () {
wx.closeBluetoothAdapter({
success: function(res) {
console.log("關(guān)閉藍(lán)牙模塊")
},
fail: function(err) {
}
})
},