当前位置: 首页 > 知识库问答 >
问题:

在iPhone上获取蓝牙MAC地址

屠锐
2023-03-14

序言
我正在使用Swift 2开发Xcode 7.0.1

是我试图了解如何检索这些信息的时间(更新、天数)
我已经看到了一个框架,CoreBooth,可能可以帮助我。(更新,绝对不是!!)

任何想法?Objecte-c/swwift/c/c...不管是什么...都是一样的。

我已经在这个答案中测试了代码,但打印了:

关于这一点,我已经阅读了官方文件:

在iOS 7及更高版本中,如果您询问iOS设备的MAC地址,系统将返回值02:00:00:00:00。如果需要识别设备,请使用UIDevice的identifierForVendor属性。(为自己的广告目的需要标识符的应用程序应该考虑使用AsSistIfMeor管理器的广告标识符属性)。

问题是:如果其他设备可以读取我的蓝牙mac地址,为什么我不能<当然,我认为应该有办法做到这一点。

我也尝试这个答案(和其他答案)的片段,但我从来没有得到真正的mac地址。

我知道要了解mac的蓝牙信息,我可以在终端上运行:

system_profiler SPBluetoothDataType | sed -n "/Apple Bluetooth Software Version\:/,/Manufacturer\:/p"

并且检索mac地址只有我可以'管道'到以前的命令:

egrep -o '([[:xdigit:]]{1,2}-){5}[[:xdigit:]]{1,2}'

我在问。。我可以在iPhone上以编程方式运行此命令吗?

实际上,我已经尝试过了,用这个伪代码:

script = ""
system("system_profiler SPBluetoothDataType > blueInfo.txt")
sleep
read from file "blueInfo.txt" its content

此代码编译并“工作”,但在读取不存在的文件时失败。

我目前正在考虑放弃):

共有1个答案

顾跃
2023-03-14

正如GitHub问题上的评论者和开发人员所指出的,由于隐私问题,即使可以从第二个设备上读取,也不可能检索到当前运行它的设备的MAC地址。

 类似资料:
  • 我目前正在开发一个基于蓝牙低能耗设备的iOS应用程序。为了得到一个唯一的标识符来比较得到的外设,我必须得到外设的MAC地址。 据观察,外围设备的UUID属性在iOS设备中不同,而且外围设备要获得UUID,必须至少连接到主设备一次。因为我必须处理登机手续,所以我不想建立连接。当我通过bluetooth services portal时,我发现设备信息本身就是一项服务,除非主iOS设备和外围bluet

  • 问题内容: 我想获取连接到手机的另一台设备的蓝牙信号强度, 如何获得蓝牙信号强度? 我试图在Google上进行大量搜索,但未找到任何答案。 有人知道我该如何实施吗? 这是myActivity: 我的清单文件中也有蓝牙许可。 问题答案: 要获取信号,您可以检查蓝牙RSSI,可以阅读已连接设备的RSSI,或执行蓝牙发现以检查附近任何设备的RSSI。 基本上,蓝牙发现是向范围内的所有电台广播以进行响应。

  • 问题内容: 我需要一种跨平台的方法来在运行时确定计算机的MAC地址。对于Windows,可以使用“ wmi”模块,在Linux下,我能找到的唯一方法是运行ifconfig并在其输出中运行正则表达式。我不喜欢使用只能在一个OS上运行的程序包,而且更不用说容易出错的语法解析另一个程序的输出。 有谁知道跨平台方法(Windows和Linux)方法来获取MAC地址?如果没有,还有谁比我上面列出的方法更优雅

  • 我试图访问Android中低能蓝牙设备的UUID,最终将字符串发布到web API。 以下是我的代码,可以很好地为本地名称和mac地址敬酒: 有人能帮忙吗?

  • 我正在开发一个获取设备MAC地址的应用程序,但由于Android6.0,我的代码无法运行,给了我一个不正确的值。 这是我的代码... 它返回的不是真正的MAC地址,而是一个奇怪的代码:。

  • 问题内容: 有没有办法在Node.js上找到客户端的mac地址?我一直在搜索它,但是我发现了node- sigar项目,但是它没有用,因为它引发了“找不到模块./build/Release/sigar”错误。 问题答案: 除非您的代码与客户端在同一LAN段上运行,否则您将无法获取客户端的MAC地址。您可能需要使用命令行工具或本机支持才能获得本地LAN网段上的地址。 对于nodejs:https :