Bence bu soru Tersine Mühendislik Stack Exchange sitesinde yayınlanmalı. Kara bir kutu hakkındaki uygulama detaylarını soruyorsun ...
Aslında biraz etrafta kazdım /System/Library/CoreServices/Menu Extras/AirPort.menu
ve/System/Library/Frameworks/CoreWLAN.framework/
Özel bir yöntem var, CWNetwork
denir isPersonalHotspot
:
char -[CWNetwork(Private) isPersonalHotspot](void * self, void * _cmd) {
eax = [*(self + 0x4) objectForKey:@"IOS_IE"];
eax = LOBYTE(eax != 0x0 ? 0x1 : 0x0) & 0xff;
return eax;
}
Sadece bazı tanımlayıcıları kontrol ediyor gibi görünüyor. Düşünüyorum SFRemoteHotspotDevice
ve WiFiXPCEventProtocol
daha düşük seviye detaylarına sahip olabilirim ama kontrol etmedim.
BTW, CarPlay ağının olup olmadığını belirleme özelliği de vardır.
@interface CWNetwork : NSObject <NSCopying, NSSecureCoding>
... //redacted
@property(readonly) BOOL isPersonalHotspot;
@property(readonly) BOOL isCarPlayNetwork;
... //redacted
Apple, Donanımı, Sürücüleri ve İşletim Sistemini kontrol eder, sanırım WiFi sinyalini yayınlarken kolayca ekstra meta veri ekleyebilirler, böylece Mac'iniz zincir simgesi ekleyip eklemeyeceğini bilir.
Herhangi biri Apple'ın bu numarayı tam olarak nasıl yaptığını öğrenirse, lütfen bana bildirin. :)