0

2 つのサービス UUID とサービスを指定しているにもかかわらず、IOS は 1 つのサービスしかアドバタイズしていません。エラーは発生しません。また、サービス追加エラー関数が 2 回呼び出されますが、どちらもエラーは発生しません。これが私のコードです。

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]])

コードの残りの部分は問題なく実行されます。ここに示した例では、2 つのサービスのうち最初のサービスをアドバタイズします。順序は関係ありません。最初のサービスは常に 2 番目のサービスをアドバタイズします。サービスの両方を宣伝することはありません。単純なものだと確信していますが、行き詰まっています。

ありがとう

4

1 に答える 1

0

理由は、2 番目の UUID がアドバタイジング パケットに収まらないためです。

接続されたデバイスをスキャンしても、2番目のサービスはまだ表示されませんが、それは別の問題です。

于 2016-01-08T11:34:51.903 に答える