【问题标题】:Passbook not recognizing iBeaconPassbook 无法识别 iBeacon
【发布时间】:2013-10-11 01:20:11
【问题描述】:

我一直试图通过安装它并靠近 iBeacon 来让我的通行证变得相关,但我所做的一切似乎都不起作用。有没有人知道为什么会发生这种情况?

以下是一些相关的细节:

  • 签署或创建通行证没有问题。我在命令行上执行此操作并将通行证通过电子邮件发送给自己
  • 我使用 Apple 的 AirLocate 示例代码将另一部 iPhone 5s 变成信标。
  • 我确保邻近 UUID 匹配
  • 我已在首选项中打开存折开发者调试功能,但在控制台中未发现明显错误。

这是我的 pass.json 的相关部分,我的团队信息已被删除。 (您可能会从 WWDC 中识别出信标标签):

 {
   "formatVersion" : 1,
   "passTypeIdentifier" : "pass.com.[valid stuff here]",
   "serialNumber" : "100",
   "teamIdentifier" : "[valid team id here]",
 "beacons":[{
      "proximityUUID":"99C759FE-C660-4B95-981A-0C53E0EE6124",
      "relevantText":"Delicious food nearby"
      }],
 ...
 }

所以我使用该 UUID 设置 AirLocate,启用信标,然后在安装了通行证的情况下四处走动,但没有得到任何响应....

有人在这方面取得了成功或有一些问题可以帮助我吗?

【问题讨论】:

  • iBeacon 警报将仅显示在锁定屏幕上 - 设备将在使用电源按钮唤醒时扫描信标。还要确保没有设置主要和次要参数,因为它们会阻止匹配。
  • 您是否尝试过使用 CoreLocation CLBeaconRegion 来查看是否可以触发 Passbook 之外的 iBeacon 检测?
  • 第二台 iOS 设备(有存折的设备)上的 AirLocate 是否看到 iBeacon?
  • 考虑到通行证的类型对于相关通知确实很重要。对于 iBeacons,规则与位置规则基本相同。使用storeCard 100% 确保您不属于其他相关规则。
  • JSON 对我来说看起来不错,我使用了与泛型类型相同的东西并且它工作正常。主要问题是我真的必须四处走动才能触发事件(呆在办公桌前打开和关闭信标是不够的)

标签: ios passbook ibeacon


【解决方案1】:

由于您没有在通行证定义中指定主要/次要,因此您需要确保您的 iBeacon 设置方式相同。我还建议确认您的 pass.json 是正确的,确认的一种方法是使用 CoreLocations 编写一个简单的应用程序,看看您是否可以通过这种方式与您的信标通信,或者,您可以使用其中一个生成您的通行证在线工具(http://essentialtechnologies.ca)只是为了确认您的语法没有导致您的问题

【讨论】:

  • “由于您没有在通行证定义中指定主要/次要,因此您需要确保您的 iBeacon 设置方式相同。”这是不正确的。信标将始终传输 UUID,主要和次要。只听 UUID 是完全合法的。
【解决方案2】:

在 Passbook pass 中测试 iBeacons 时,请记住以下几点:

【讨论】:

  • “我们始终对您尝试定位的蓝牙信标进行主要和次要定义。”这不是必需的。只听 UUID 是完全合法的。
【解决方案3】:

检查蓝牙是否已打开并且您的应用是否启用了定位服务。此外,如果您身边有任何 Android 设备,您可以使用iBeacon Locate 来确保您的设备正在发射。

我可以确认(如文档所述)您不需要定义 minormajor

这是我使用的传递 JSON,并与我们在这里拥有的 iBeacon 一起使用:

{
  "formatVersion" : 1,
  "passTypeIdentifier" : "pass.com.[...]",
  "serialNumber" : "E5982H-I2",
  "teamIdentifier" : "[...]",
  "webServiceURL" : "https://example.com/passes/",
  "authenticationToken" : "vxwxd7J8AlNNFPS8k0a0FfUFtq0ewzFdc",
  "barcode" : {
    "message" : "123456789",
    "format" : "PKBarcodeFormatPDF417",
    "messageEncoding" : "iso-8859-1"
  },
  "beacons": [
    {
      "proximityUUID": "[...]",
      "relevantText": "You are here!"
    }
  ],
  "organizationName" : "Paw Planet",
  "description" : "Coupon for a free lollipop at Example Candy Store",
  "logoText" : "Example Candy Store",
  "foregroundColor" : "rgb(255, 255, 255)",
  "backgroundColor" : "rgb(206, 140, 53)",
  "coupon" : {
    "primaryFields" : [
        {
            "key": "offer",
            "value": "Free lollipop",
            "label": "On July 29"
        }
    ]
  }
}

【讨论】:

    【解决方案4】:

    我会在下面添加主要值和次要值,其中 aaaaa 是主要值,bbbbb 是来自信标的次要值。

    "beacons": [
        {
          "proximityUUID": "[...]",
          "relevantText": "You are here!"
          "major":aaaaa
          "minor":bbbbb
        } 
      ],
    

    【讨论】:

    • 这不是必需的。只听 UUID 是完全合法的。
    【解决方案5】:

    如果没有任何帮助,请尝试重新启动您的设备和/或关闭/打开蓝牙。 有人说 iOS 可以意外停止测距信标。 http://beekn.net/2014/05/beacon-bug-apple-loses-ibeacon-ranging-drives-developers-mad/

    就我而言,Passbook 在我靠近 iBeacon 10 分钟后通知我)

    编码愉快!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-10
      • 1970-01-01
      • 1970-01-01
      • 2018-10-11
      • 1970-01-01
      相关资源
      最近更新 更多