Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios iBeacon:定义UUID_Ios_Ibeacon_Ibeacon Android - Fatal编程技术网

Ios iBeacon:定义UUID

Ios iBeacon:定义UUID,ios,ibeacon,ibeacon-android,Ios,Ibeacon,Ibeacon Android,在开发者官方声明中,苹果公司声明 应用程序开发人员应定义特定于其应用程序和应用程序的UUID 部署用例 问题: A部分:我如何定义UUID,以确保它不会与任何其他UUID冲突?有没有官方的方法可以买到 第二部分:假设有可能,我如何确保UUID在iOS和Android设备中是唯一的 看看上面的报价,这似乎取决于开发商。然而,它感觉像一个非健壮的解决方案 如果问题1的B部分不可能,那么我担心会出现以下用例: 两家公司为两个不同的应用程序和一个应用程序定义了相同的UUID 用户已经安装了它们。用

在开发者官方声明中,苹果公司声明

应用程序开发人员应定义特定于其应用程序和应用程序的UUID 部署用例

问题:

  • A部分:我如何定义UUID,以确保它不会与任何其他UUID冲突?有没有官方的方法可以买到
  • 第二部分:假设有可能,我如何确保UUID在iOS和Android设备中是唯一的
看看上面的报价,这似乎取决于开发商。然而,它感觉像一个非健壮的解决方案


如果问题1的B部分不可能,那么我担心会出现以下用例

两家公司为两个不同的应用程序和一个应用程序定义了相同的UUID 用户已经安装了它们。用户靠近其中一个按钮进入 其中一家公司的iBeacon(两个iBeacon都没有 定义的次要值和主要值或两者具有相同的次要值和次要值 价值)

问题2:

  • iOS和Android如何应对这种情况?这可能吗

    • 它是一个128位UUID。编写一个五行MacOS X程序,创建并打印UUID并使用它

      客户向您投诉UUID与其他设备相同的可能性非零。然而,更有可能的是,一颗流星击中了他,另一颗流星击中了你们,你们两个都死了,在他或她设法抱怨的五秒钟之前


      UUID就是这样工作的

      它是一个128位UUID。编写一个五行MacOS X程序,创建并打印UUID并使用它

      客户向您投诉UUID与其他设备相同的可能性非零。然而,更有可能的是,一颗流星击中了他,另一颗流星击中了你们,你们两个都死了,在他或她设法抱怨的五秒钟之前


      UUID就是这样工作的

      获取ProximityUID的唯一官方方法是使用(安全的)随机UUID生成器生成一个。如果使用随机UUID生成器,则从统计上看,您不太可能意外地选择与另一家公司相同的ProximityUID。这是真的,因为有太多的组合,正如@gnasher729在他的回答中所说的。意外重叠的可能性很低,根本不值得担心

      也就是说,没有什么可以阻止其他人故意使用您定义的相同ProximityUID。由于iBeacon传输是以明文形式发送的,不需要加密,因此任何在Android、Mac或Windows设备上使用蓝牙LE扫描仪的人都可以通过无线信标读取您的ProximityUID

      这是无法阻止的


      Android和iOS应用程序处理这一问题的方式是,仅在可接受的情况下使用iBeacons。如果您的用例不能接受,那么您必须寻找iBeacons之外的解决方案。

      获取ProximityUID的唯一官方方法是使用(安全的)随机UUID生成器生成一个。如果使用随机UUID生成器,则从统计上看,您不太可能意外地选择与另一家公司相同的ProximityUID。这是真的,因为有太多的组合,正如@gnasher729在他的回答中所说的。意外重叠的可能性很低,根本不值得担心

      也就是说,没有什么可以阻止其他人故意使用您定义的相同ProximityUID。由于iBeacon传输是以明文形式发送的,不需要加密,因此任何在Android、Mac或Windows设备上使用蓝牙LE扫描仪的人都可以通过无线信标读取您的ProximityUID

      这是无法阻止的

      Android和iOS应用程序处理这一问题的方式是,仅在可接受的情况下使用iBeacons。如果您的用例不能接受,那么您必须寻找iBeacons提供的解决方案之外的其他解决方案

      UUID的长度为128位,可以保证 跨越时空的独特性

      iOS uuid代码(谷歌Android版):

      输出:

      uuidString: 8F16F262-3E60-49F4-9D1B-FC4F4975B219
      uuidBytes: 8F16F2623E6049F49D1BFC4F4975B219
      uuidData: <8f16f262 3e6049f4 9d1bfc4f 4975b219>
      
      uuiString:8F16F262-3E60-49F4-9D1B-FC4F4975B219
      UUIBytes:8F16F2623E6049F49D1BFC4F4975B219
      UUIDD数据:
      
      UUID的长度为128位,可以保证 跨越时空的独特性

      iOS uuid代码(谷歌Android版):

      输出:

      uuidString: 8F16F262-3E60-49F4-9D1B-FC4F4975B219
      uuidBytes: 8F16F2623E6049F49D1BFC4F4975B219
      uuidData: <8f16f262 3e6049f4 9d1bfc4f 4975b219>
      
      uuiString:8F16F262-3E60-49F4-9D1B-FC4F4975B219
      UUIBytes:8F16F2623E6049F49D1BFC4F4975B219
      UUIDD数据:
      
      不要对UUID使用随机数!有一个Objective-C类:
      nsuid
      ,使用它。nsuid类在内部使用随机数生成器。是的,这是一个很好的选择,但是还有很多其他的选择。API调用UUID,只需使用一个,而不是一个自主开发的ID方案。自主开发的ID方案是安全性丧失的地方。虚荣vs安全,选择。@zaph你可能指的是失去独特性的地方。UUID不应该用来保护任何东西。失去唯一性是更好的解决方案吗?当API调用UUID时,我看不到反对使用UUID的理由,因为UUID很容易使用,并且经过了很好的审查。是否有人认为使用真正的UUID是有害的?不要对UUID使用随机数!有一个Objective-C类:
      nsuid
      ,使用它。nsuid类在内部使用随机数生成器。是的,这是一个很好的选择,但是还有很多其他的选择。API调用UUID,只需使用一个,而不是一个自主开发的ID方案。自主开发的ID方案是安全性丧失的地方。虚荣vs安全,选择。@zaph你可能指的是失去独特性的地方。UUID不应该用来保护任何东西。失去唯一性是更好的解决方案吗?当API调用UUID时,我看不到反对使用UUID的理由,因为UUID很容易使用,而且经过良好的审查