iOS¤ËÅëºÜ¤µ¤ì¤Æ¤¤¤ë¡ÖHotspotHelper API¡×¤òÍøÍѤ¹¤ë¤³¤È¤Ç¡¢¤É¤ó¤Ê¥¢¥×¥ê¤Ç¤â¥æ¡¼¥¶¡¼¤Îµö²Ä̵¤¯¥ê¥¢¥ë¥¿¥¤¥à¤Ë°ÌÃÖ¤òÄÉÀפǤ­¤ë¤È¤¤¤¦ÌäÂê¤òMicrosoft¤Î¸µ¥¨¥ó¥¸¥Ë¥¢¤Ç¤¢¤ëwinguse¤µ¤ó¤¬¥Ö¥í¥°¤Ç¸ø³«¤·¤Æ¤¤¤Þ¤¹¡£

Apple allows applications to track user locations without authorization | Yingyu¡Çs Blog

https://wingu.se/2023/11/30/only-apple-can-do-allow-apps-tracking-users-location-without-consensus.html



2015ǯ¤Ë¥ê¥ê¡¼¥¹¤µ¤ì¤¿iOS 9°Ê¹ß¡¢iOS¤Ë¤Ï¡ÖHotspotHelper¡×¤È¤¤¤¦API¤¬ÅëºÜ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£winguse¤µ¤ó¤Ë¤è¤ë¤È¡¢HotspotHelper¤òÍøÍѤ¹¤ë¤È²¼µ­¤Î¤è¤¦¤Ê¥³¡¼¥É¤òµ­½Ò¤¹¤ë¤³¤È¤Ç¶á¤¯¤ÎWi-Fi¤Î¾ðÊó¤ò¼èÆÀ¤¹¤ë»ö¤¬¤Ç¤­¤ë¤È¤Î¤³¤È¡£

import CoreLocation
import NetworkExtension

class LocationTrackingManager {
func setupHotspotHelper() {
// HotspotHelper capability¤ò¥ê¥¯¥¨¥¹¥È
NEHotspotHelper.register(options: nil, queue: DispatchQueue.main) { (command) in
if let networkList = command.networkList {
for network in networkList {
// Wi-Fi¥Í¥Ã¥È¥ï¡¼¥¯¾ðÊó¤Ë¥¢¥¯¥»¥¹ (SSID¡¦MAC¥¢¥É¥ì¥¹)
// »²¹Í¡§ https://developer.apple.com/documentation/networkextension/nehotspotnetwork
let ssid = network.ssid
let macAddress = network.bssid

// Perform location tracking logic with ssid and macAddress
self.trackLocation(withSSID: ssid, andMACAddress: macAddress)
}
}
}
}

func trackLocation(withSSID ssid: String, andMACAddress macAddress: String) {
// SSID¤ÈMAC¥¢¥É¥ì¥¹¤ò»ÈÍѤ·¤Æ¥æ¡¼¥¶¡¼¤Î°ÌÃÖ¤òÇÄ°®¤¹¤ë
}
}

¤Û¤È¤ó¤É¤ÎWi-Fi¥¢¥¯¥»¥¹¥Ý¥¤¥ó¥È¤ÏÀßÃÖ¸å¤Ë°ÌÃÖ¤¬ÊѲ½¤·¤Ê¤¤¤¿¤á¡¢¡Ö¤É¤ÎWi-Fi¥¢¥¯¥»¥¹¥Ý¥¤¥ó¥È¤¬ÉÕ¶á¤Ë¤¢¤ë¤Î¤«¡×¤È¤¤¤¦¾ðÊó¤ò¸µ¤Ë»°³Ñ¬Î̤ò¹Ô¤¦»ö¤Ç¥æ¡¼¥¶¡¼¤Î°ÌÃÖ¤òÆÃÄꤹ¤ë¤³¤È¤¬²Äǽ¤Ç¡¢Wi-Fi¥¢¥¯¥»¥¹¥Ý¥¤¥ó¥È¤Î¾ðÊ󤫤é°ÌÃÖ¤òÆÃÄꤹ¤ë¤¿¤á¤ÎAPI¤¬Precisely¤äGoogle¤Ê¤É¤Ë¤è¤Ã¤ÆÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£

HotspotHelper API¤È¥µ¡¼¥É¥Ñ¡¼¥Æ¥£¡¼¤ÎAPI¤òÁȤ߹ç¤ï¤»¤Æ¥æ¡¼¥¶¡¼¤Î°ÌÃÖ¤òÄÉÀפ¹¤ë¤È¡¢¥æ¡¼¥¶¡¼Â¦¤Ë¡Ö°ÌÃÖ¾ðÊó¤ò»ÈÍѤ·¤Æ¤¤¤ë¡×¤È¤¤¤¦»ö¼Â¤òɽ¼¨¤»¤º¤ËÄÉÀפ·¤¿¤ê¡¢ËÜÍè¤Î°ÌÃÖ¾ðÊóAPI¤Ë¤è¤ëÄÉÀפòµñÈݤ·¤Æ¤¤¤ë¥æ¡¼¥¶¡¼¤Î°ÌÃÖ¤òÄÉÀפ·¤¿¤ê¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£¤µ¤é¤Ë¡¢HotspotHelper API¤ò̵¸ú²½¤¹¤ëÀßÄê¤Ïµ­»öºîÀ®»þÅÀ¤Ç¤Ï¸ºß¤»¤º¡¢ÄÉÀפòµñÈݤǤ­¤Ê¤¤¤È¤¤¤¦ÌäÂê¤âȯÀ¸¤·¤Æ¤¤¤Þ¤¹¡£

winguse¤µ¤ó¤Ï2021ǯ¤Ë¤³¤¦¤·¤¿ÌäÂê¤Ëµ¤ÉÕ¤­¡¢Apple¤Ë¥á¡¼¥ë¤òÁ÷¿®¤·¤Þ¤·¤¿¤¬¡¢¡ÖApple¤Ï¤³¤ÎÌäÂê¤òÄ´ºº¤·¤ÆŬÀڤʥ¢¥¯¥·¥ç¥ó¤ò¹Ô¤¤¤Þ¤¹¡×¤ÈÊÖ¿®¤¬Íè¤Æ°Ê¹ß¤Ê¤ó¤Î¾ðÊó¤âÆÀ¤é¤ì¤Æ¤¤¤Ê¤¤¤È¤Î¤³¤È¡£



winguse¤µ¤ó¤Ï¡Ö°ÌÃÖ¾ðÊó¤äÄÌÃΤʤɾ¤Î¥×¥é¥¤¥Ð¥·¡¼ÀßÄê¤ÈƱÍͤˡ¢HotspotHelper API¤ò̵¸ú²½¤¹¤ë¥ª¥×¥·¥ç¥ó¤ò¥æ¡¼¥¶¡¼¤ËÄ󶡤¹¤ë¤Ù¤­¤À¡×¤È½Ò¤Ù¤ë¤ÈƱ»þ¤Ë¡¢¥¢¥×¥ê¤¬HotspotHelper API¤Ë¥¢¥¯¥»¥¹¤¹¤ëºÝ¤Ë¤Ï¥æ¡¼¥¶¡¼¤ÎÌÀ¼¨Åª¤Êµö²Ä¤òɬÍפȤ¹¤ë¤Ù¤­¤À¤È¼çÄ¥¤·¤Þ¤·¤¿¡£