खोज…


पैरामीटर

पैरामीटर विवरण
प्रबंधक CLLocationManager संदर्भ
क्षेत्र CLRegion गोलाकार क्षेत्र हो सकता है (भू-आकृति या बीकन क्षेत्र)
बीकन CLBeacon के एरे में सभी राउंडेड बीकन होते हैं

टिप्पणियों

बीकन IOT ऑब्जेक्ट हैं। हम उन लोगों पर ध्यान केंद्रित कर रहे हैं जो iBeacon प्रोटोकॉल के अनुरूप Apple मानक हैं। प्रत्येक बीकन एक तरह से डिवाइस है जो 3 चीजों को प्रसारित करता है

  1. UUID
  2. प्रमुख
  3. नाबालिग

हम विशेष रूप से यूयूआईडी के लिए बीकन को स्कैन करने के लिए हमारे CLLocation प्रबंधक ऑब्जेक्ट सेट करके iBeacons को स्कैन कर सकते हैं। दिए गए UUID वाले सभी बीकन को स्कैन किया जाएगा।

CLLocation प्रबंधक बीकन क्षेत्र के प्रवेश और निकास पर कॉल भी देता है।

iBeacon बेसिक ऑपरेशन

  1. सेटअप निगरानी बीकन
func initiateRegion(ref:BeaconHandler){
    let uuid: NSUUID = NSUUID(UUIDString: "<UUID>")
    let beacon = CLBeaconRegion(proximityUUID: uuid, identifier: "")
    locationManager?.requestAlwaysAuthorization()    //cllocation manager obj.
    beacon?.notifyOnEntry = true
    beacon?.notifyOnExit = true
    beacon?.notifyEntryStateOnDisplay = true
    locationManager?.startMonitoringForRegion(beacon!)
    locationManager?.delegate = self;
    // Check if beacon monitoring is available for this device
    if (!CLLocationManager.isMonitoringAvailableForClass(CLBeaconRegion)) {
        print("error")
    }
    locationManager!.startRangingBeaconsInRegion(self.beacon!)
}
  1. स्थान प्रबंधक प्रवेश और निकास क्षेत्र
func locationManager(manager: CLLocationManager, didEnterRegion region: CLRegion) {
    if(region.isKindOfClass(CLBeaconRegion)) {
        locationManager!.startRangingBeaconsInRegion(self.beacon!)
    }
}
    
func locationManager(manager: CLLocationManager, didExitRegion region: CLRegion) {
    if(region.isKindOfClass(CLBeaconRegion)) {
        locationManager!.stopRangingBeaconsInRegion(self.beacon!)
    }
}
  1. स्थान प्रबंधक श्रेणी बीकन
func locationManager(manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], inRegion region: CLBeaconRegion) {
    print(beacons.first.major)
}

विशिष्ट बीकन को स्कैन करना

 beacon = CLBeaconRegion(proximityUUID: <#NSUUID#>, major: <#CLBeaconMajorValue#>, identifier: <#String#>) // listening to all beacons with given UUID and major value
 beacon =    CLBeaconRegion(proximityUUID: <##NSUUID#>, major: <##CLBeaconMajorValue#>, minor: <##CLBeaconMinorValue#>, identifier: <##String#>) // listening to all beacons with given UUID and major and minor value

रेंजिंग iBeacons

सबसे पहले, आपको स्थान सेवाओं के प्राधिकरण का अनुरोध करना होगा

let locationManager = CLLocationManager()
locationManager.delegate = self
locationManager.requestWhenInUseAuthorization()
// OR locationManager.requestAlwaysAuthorization()

तब आप सभी iBeacons की जानकारी didRangeBeacons अंदर प्राप्त कर सकते हैं

func locationManager(manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], inRegion region: CLBeaconRegion) {
    for beacon in beacons {
        print(beacon.major)
        print(beacon.minor)
    }
}


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow