9 Wi-Fi・iBeacon の取得
9.1 Wi-Fi アクセスポイント情報を取得したい
Wi-Fi アクセスポイントに接続した際と切断した際にコールされる PopinfoReceiver デリゲートメソッド popinfoReceiver:didConnectWifiEssid:bssid: と popinfoReceiver:didDisconnectWifiEssid:bssid: で Wi-Fi アクセスポイント情報(ESSID と BSSID)を取得することができます。
- (void)popinfoReceiver:(PopinfoReceiver *)popinfoReceiver didConnectWifiEssid:(NSString *)essid bssid:(NSString *)bssid
{
NSLog(@"didConnect essid=%@ & bssid=%@", essid, bssid);
}
- (void)popinfoReceiver:(PopinfoReceiver *)popinfoReceiver didDisconnectWifiEssid:(NSString *)essid bssid:(NSString *)bssid
{
NSLog(@"didDisconnect essid=%@ & bssid=%@", essid, bssid);
}
func popinfoReceiver(_ popinfoReceiver: PopinfoReceiver, didConnectWifiEssid essid: String, bssid: String) {
print("didConnect essid=\(essid), bssid=\(bssid)")
}
func popinfoReceiver(_ popinfoReceiver: PopinfoReceiver, didDisconnectWifiEssid essid: String, bssid: String) {
print("didDisconnect essid=\(essid), bssid=\(bssid)")
}
9.2 iBeacon 情報を取得したい
iBeacon を検知した際にコールされるPopinfoReceiver デリゲートメソッド popinfoReceiver:didRangeBeacon:inRegion: で iBeacon 情報(UUID、major、minor、rssi)を取得することができます。
このデリゲートメソッドは30秒に1回の間隔でコールされるようにしてあり、毎秒コールされてくる懸念はありません。
- (void)popinfoReceiver:(PopinfoReceiver *)popinfoReceiver didRangeBeacon:(CLBeacon *)beacon inRegion:(CLBeaconRegion *)region
{
NSString *beaconUuid= [beacon.proximityUUID.UUIDString lowercaseString];
NSLog(@"UUID=%@ & major=%@ & minor=%@ & rssi=%d", beaconUuid, beacon.major, beacon.minor, (int)beacon.rssi);
}
func popinfoReceiver(_ popinfoReceiver: PopinfoReceiver, didRangeBeacon beacon: CLBeacon, in region: CLBeaconRegion) {
let beaconUuid = beacon.proximityUUID.uuidString.lowercased()
print("UUID=\(beaconUuid) & major=\(beacon.major) & minor=\(beacon.minor) & rssi=\(beacon.rssi)")
}
また、ビーコン領域に入った際は popinfoReceiver:didEnterRegion: 、ビーコン領域から出た際は popinfoReceiver:didExitRegion: がコールされます。
- (void)popinfoReceiver:(PopinfoReceiver *)popinfoReceiver didEnterRegion:(CLRegion *)region {}
- (void)popinfoReceiver:(PopinfoReceiver *)popinfoReceiver didExitRegion:(CLRegion *)region {}
func popinfoReceiver(_ popinfoReceiver: PopinfoReceiver, didEnter region: CLRegion) {}
func popinfoReceiver(_ popinfoReceiver: PopinfoReceiver, didExitRegion region: CLRegion) {}