以下方法可以在iOS系统下扫描中得到MAC地址:
该方法可以实时得到模块的名字，比iOS自带的peripheral对象属性效果要好，名字变了可以实时得到。
调用如下：
- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
{
        if(![self describeDictonary:advertisementData])
        {
            NSLog(@"is not HM module");
            return;
        }
}

//////////////////////////////////////////////////////////////////////////////////////
- (Boolean)describeDictonary: (NSDictionary *) dict
{
    NSArray *keys;
    id key;
    keys = [dict allKeys];
    for(int i = 0; i < [keys count]; i++)
    {
        key = [keys objectAtIndex:i];
        if([key isEqualToString:@"kCBAdvDataManufacturerData"])
        {
            NSData *tempValue = [dict objectForKey:key];
            const Byte *tempByte = [tempValue bytes]; //这里的8位的数组即为模块的MAC地址
            //数组格式:0x48,0x4D开头,后面六位为MAC地址
            //0x00, 0x0E, 0x0B开头的可能是HM-12,HM-13,HM-14
            //0x00, 0x0E, 0x16开头的是HM-16
            //0x00, 0x0E, 0x17开头的是HM-17
            //0x00, 0x0E, 0x18开头的是HM-18
            //0x00, 0x0E, 0x19开头的是HM-19
            if([tempValue length] == 8 && tempByte[0] == 0x48 && tempByte[1] == 0x4D)
            {
                if(tempByte[2] == 0x00 && tempByte[3] == 0x0E && tempByte[4] == 0x0B)
                { //is dual mode HM-12 HM-13 HM-14
                    return true;
                }else //is HM-10, HM-11, HM-15, HM-16, HM-17
                    return true;
            }
        }else if([key isEqualToString:@"kCBAdvDataLocalName"])
        {
            //there is name
            //NSString *szName = [dict objectForKey: key];
        }
    }
    return false;
}