2016-01-07 3 views
0

IOS рекламирует только одну услугу, несмотря на то, что я указываю два сервиса UUID и сервисы, я не получаю никаких ошибок, а функция ошибки службы добавления вызывается дважды, оба раза без ошибок, это мой кодiOS только рекламирует одну услугу как периферийную BTLE

for UUIDs in advertisingUUIDs 
{ 
    self.mainServicesArray.append(CBMutableService(type: UUIDs, primary: true)) 
} 

for services in mainServicesArray 
{ 
    self.peripheralManager.addService(services) 
} 

self.peripheralManager.startAdvertising([CBAdvertisementDataServiceUUIDsKey: [mainServicesArray[0].UUID,mainServicesArray[1].UUID]]) 

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

Благодаря

+0

Вы слушаете ['peripheralManagerDidStartAdvertising: error:'] (https://developer.apple.com/library/tvos/documentation/CoreBluetooth/Reference/CBPeripheralManagerDelegate_Protocol/index.html#//apple_ref/occ/intfm/ CBPeripheralManagerDelegate/peripheralManagerDidStartAdvertising: ошибка :), чтобы увидеть, были ли ошибки? Документы говорят, что существуют рекламные ограничения, которые могут быть достигнуты из приложений за пределами вашего. – Joe

+0

Да, я не ошибаюсь в 'peripheralManagerDidStartAdvertising: error:' Он дает нуль. –

ответ

0

Причиной является второй UUID не помещается в рекламном пакете.

Вторая услуга по-прежнему не отображается, когда я просматриваю подключенное устройство, но это еще одна проблема.