Passbook не распознает iBeacon

Я пытался сделать свой пропуск актуальным, установив его и приблизившись к iBeacon, но ничего из того, что я делаю, похоже, не работает. Кто-нибудь знает, почему это может происходить?

Вот несколько важных деталей:

  • У меня нет проблем с подписанием или созданием пропуска. Я делаю это в командной строке и отправляю себе пропуск по электронной почте.
  • Я использую пример кода Apple AirLocate, чтобы превратить другой iPhone 5 в маяк.
  • Я удостоверяюсь, что 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"
      }],
 ...
 }

Поэтому я настроил AirLocate с этим UUID, включил маяк и хожу с установленным пропуском и не получаю ответа....

У кого-нибудь есть успехи в этом или есть вопросы, которые могли бы мне помочь?


person CornPuff    schedule 11.10.2013    source источник
comment
Оповещения iBeacon будут отображаться только на экране блокировки — устройство будет сканировать маяки, когда оно будет разбужено кнопкой питания. Также убедитесь, что основные и второстепенные параметры не установлены, так как это предотвратит совпадение.   -  person PassKit    schedule 11.10.2013
comment
Пробовали ли вы использовать CoreLocation CLBeaconRegion, чтобы узнать, можете ли вы инициировать обнаружение iBeacon за пределами Passbook?   -  person Tomas McGuinness    schedule 11.10.2013
comment
Видит ли AirLocate на втором устройстве iOS (тот, у которого есть сберкнижка) iBeacon?   -  person davidgyoung    schedule 12.10.2013
comment
Учтите, что тип пропуска имеет значение для соответствующих уведомлений. Для iBeacons правила в основном такие же, как и для местоположений. Используйте storeCard, чтобы быть на 100% уверенным, что вы не подпадаете под действие других соответствующих правил.   -  person Yevhen Dubinin    schedule 07.12.2013
comment
JSON выглядит нормально для меня, и я использовал что-то идентичное с общим типом, и это сработало. Основная проблема заключалась в том, что мне действительно приходилось перемещаться, чтобы вызвать событие (оставаться за своим столом и включать и выключать маяк было недостаточно)   -  person rist    schedule 17.02.2014


Ответы (5)


Поскольку вы не указываете основной/младший в своем определении прохода, вам необходимо убедиться, что ваш iBeacon настроен таким же образом. Я также предлагаю подтвердить правильность вашего pass.json. Одним из способов подтверждения было бы написать простое приложение с использованием CoreLocations и посмотреть, сможете ли вы таким образом взаимодействовать со своим маяком. В качестве альтернативы вы можете сгенерировать свой проход, используя один из онлайн-инструменты ( http://essentialtechnologies.ca ), чтобы убедиться, что ваш синтаксис не вызывает проблемы

person Wojteo    schedule 18.02.2014
comment
Поскольку вы не указываете основной/младший в своем определении прохода, вам необходимо убедиться, что ваш iBeacon настроен таким же образом. Это неправильно. Маяк всегда будет передавать UUID, основной и дополнительный. Совершенно законно слушать только UUID. - person Paul A. Hoadley; 03.09.2015

При тестировании iBeacons в Passbook учитывайте следующее:

  • Всегда используйте основное и второстепенное определения маяка Bluetooth, на который вы пытаетесь нацелиться (по умолчанию оба 1). Основной атрибут используется для группы маяков, второстепенное поле может указывать на конкретный маяк.
  • Убедитесь, что вы включили службы определения местоположения (Настройки -> Конфиденциальность -> Службы определения местоположения) и уведомления (Настройки -> Центр уведомлений) для Passbook.
  • Уведомления отображаются иначе, чем обычные push-уведомления. Когда вы находитесь рядом с маяком, уведомление ненавязчиво отображается на экране блокировки.
  • Существует ряд приложений, которые можно использовать для имитации iBeacon, например MacBeacon для OSX (http://www.radiusnetworks.com/macbeacon-app.html) или найти для iOS (https://itunes.apple.com/us/app/locate-for-ibeacon/id738709014?mt).=8)
  • В iOS 7.0.3 есть ошибка (исправлена ​​в iOS 7.1), из-за которой происходит сбой iOS при открытии уведомления (https://discussions.apple.com/thread/5517831?tstart=0)
person wspruijt    schedule 21.02.2014
comment
Всегда используйте основное и вспомогательное определение маяка Bluetooth, на который вы пытаетесь нацелиться. Это не требуется. Совершенно законно слушать только UUID. - person Paul A. Hoadley; 03.09.2015

Проверьте, включен ли Bluetooth и включены ли службы определения местоположения для вашего приложения. Кроме того, если у вас есть устройство Android, вы можете использовать iBeacon Locate. чтобы убедиться, что ваши устройства излучают.

Я могу подтвердить (как сказано в документации), что вам не нужно определять minor или major.

Вот проход 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"
        }
    ]
  }
}
person Zoltán    schedule 27.03.2014

Я бы добавил мажорное и минорное значения ниже, где aaaaa — это основное значение, а bbbbb — минорное из вашего маяка.

"beacons": [
    {
      "proximityUUID": "[...]",
      "relevantText": "You are here!"
      "major":aaaaa
      "minor":bbbbb
    } 
  ],
person Aaron Stephenson    schedule 04.04.2014
comment
Это не требуется. Совершенно законно слушать только UUID. - person Paul A. Hoadley; 03.09.2015

Если ничего не помогает, попробуйте перезагрузить устройство И/ИЛИ выключить/включить Bluetooth. Некоторые ребята говорят, что iOS может неожиданно прекратить ранжирование маяков. http://beekn.net/2014/05/beacon-bug-apple-loses-ibeacon-ranging-drives-developers-mad/

В моем случае Passbook уведомил меня через 10 минут, что я был рядом с iBeacon %)

Удачного кодирования!

person Anton Gaenko    schedule 23.05.2014