私は Bluetooth アプリを開発しています。Table View で使用可能な Bluetooth デバイスの名前を持っています。デバイスを押すと、サポートされているすべてのサービスの UUID 名を Table View の別のビュー コントローラで知りたいということになります。アイデアをください。
1)ペリフェラルマネージャー (NSObject)
2)FirstViewController (これにはデバイス名があります)
3)SecondViewController (これで私はサポートされているサービスが欲しい)
Peripheralmanager.m
- (void)centralManager:(CBCentralManager *)central
didDiscoverPeripheral:(CBPeripheral *)peripheral
advertisementData:(NSDictionary *)advertisementData
RSSI:(NSNumber *)RSSI
{
NSLog(@"didDiscoverPeriphera.peripheral: %@ rssi: %@, UUID:%@ advertisementData:%@", peripheral,RSSI,peripheral.UUID, [advertisementData description]);
targetPeripheral = peripheral;
peripheral.delegate = self;
if (!peripheral.isConnected)
{
[centralManager connectPeripheral:peripheral options:nil];
}
}
FirstViewController.m
- (void)peripheralManagerDidConnectPeripheral:(PeripheralManager *)peripheral
{
NSLog(@"%@",peripheral.deviceName);
NSLog(@"%@",peripheral.rssi);
[device addObject:[NSString stringWithFormat:@"%@",peripheral.deviceName]];
[self.deviceTable reloadData];
}
テーブルビュー
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier=@"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if(cell==nil)
{
cell =[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}
cell.textLabel.text=[device objectAtIndex:indexPath.row];
return cell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
}
さらに詳しい情報が必要な場合は、私に尋ねてください。
このリンクサンプル Itunes アプリを確認してください
画像