イベント バックグラウンド モードで ble デバイスを使用しています。したがって、このために info.plist に特別な指定はしません。
ここで2つの問題があります:
1) iOS 5.1.1 では、イベントはアクセサリ名なしで表示されます。したがって、アプリケーションがバックグラウンドにあるときにbleからのイベントが発生すると、「」アクセサリが「MyAppName」を開きたいと表示されます
しかし、
- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
Peripheral.nameプロパティに名前が表示され、advertisingData にはキー kCBAdvDataLocalName @"MyDeviceName" も含まれています
2) iOS 6.0.1 以降では、イベントがバックグラウンドから発生することはありません...
私は ti cc2540 スタックを使用しています。これはアドバタイズ用の構造体です。
// GAP - SCAN RSP data (max size = 31 bytes)
static const uint8 scanRspData[] =
{
// complete name
0x05, // length of this data
GAP_ADTYPE_LOCAL_NAME_COMPLETE,
'O',
'b',
'd',
'2',
// connection interval range
0x05, // length of this data
GAP_ADTYPE_SLAVE_CONN_INTERVAL_RANGE,
LO_UINT16( DEFAULT_DESIRED_MIN_CONN_INTERVAL ), // 100ms
HI_UINT16( DEFAULT_DESIRED_MIN_CONN_INTERVAL ),
LO_UINT16( DEFAULT_DESIRED_MAX_CONN_INTERVAL ), // 1s
HI_UINT16( DEFAULT_DESIRED_MAX_CONN_INTERVAL ),
// Tx power level
0x02, // length of this data
GAP_ADTYPE_POWER_LEVEL,
0 // 0dBm
};
static const uint8 advertData[] =
{
0x02, // length of this data
GAP_ADTYPE_FLAGS,
DEFAULT_DISCOVERABLE_MODE | GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED,
// service UUID, to notify central devices what services are included
// in this peripheral
0x03, // length of this data
GAP_ADTYPE_16BIT_MORE, // some of the UUID's, but not all
LO_UINT16( RPC_SERVICE_UUID ),
HI_UINT16( RPC_SERVICE_UUID ),
0x05, // length of this data
GAP_ADTYPE_LOCAL_NAME_COMPLETE,
'O', // 'O'
'b', // 'b'
'd', // 'd'
'2' //2
};
どうしたの?助けてください