Ich denke, diese Frage sollte in Reverse Engineering Stack Exchange- Website veröffentlicht werden. Sie fragen nach den Implementierungsdetails für eine Black Box ...
Tatsächlich habe ich ein bisschen an /System/Library/CoreServices/Menu Extras/AirPort.menuund herumgebuddelt/System/Library/Frameworks/CoreWLAN.framework/
Es gibt eine private Methode mit dem CWNetworkNamen isPersonalHotspot:
char -[CWNetwork(Private) isPersonalHotspot](void * self, void * _cmd) {
eax = [*(self + 0x4) objectForKey:@"IOS_IE"];
eax = LOBYTE(eax != 0x0 ? 0x1 : 0x0) & 0xff;
return eax;
}
Es scheint nur einige Bezeichner zu überprüfen. Ich denke SFRemoteHotspotDeviceund habe WiFiXPCEventProtocolmöglicherweise niedrigere Details, aber ich habe nicht nachgesehen.
Übrigens gibt es auch eine Eigenschaft, um festzustellen, ob es sich um ein CarPlay-Netzwerk handelt
@interface CWNetwork : NSObject <NSCopying, NSSecureCoding>
... //redacted
@property(readonly) BOOL isPersonalHotspot;
@property(readonly) BOOL isCarPlayNetwork;
... //redacted
Apple steuert die Hardware, die Treiber und das Betriebssystem. Vermutlich können sie beim Senden des WLAN-Signals problemlos zusätzliche Metadaten hinzufügen, damit Ihr Mac weiß, ob das Kettensymbol hinzugefügt wird oder nicht.
Wenn jemand genau herausfindet, wie Apple den Trick gemacht hat, lass es mich wissen. :)