Penso que esta pergunta deve ser publicada no site Reverse Engineering Stack Exchange . Você está solicitando os detalhes da implementação sobre uma caixa preta ...
Na verdade, eu cavava um pouco /System/Library/CoreServices/Menu Extras/AirPort.menu
e/System/Library/Frameworks/CoreWLAN.framework/
Existe um método privado CWNetwork
chamado isPersonalHotspot
, tipo de:
char -[CWNetwork(Private) isPersonalHotspot](void * self, void * _cmd) {
eax = [*(self + 0x4) objectForKey:@"IOS_IE"];
eax = LOBYTE(eax != 0x0 ? 0x1 : 0x0) & 0xff;
return eax;
}
Parece apenas checando alguns identificadores. Penso SFRemoteHotspotDevice
e WiFiXPCEventProtocol
posso ter mais detalhes de nível baixo, mas não verifiquei.
Aliás, também existe uma propriedade para identificar se a rede CarPlay
@interface CWNetwork : NSObject <NSCopying, NSSecureCoding>
... //redacted
@property(readonly) BOOL isPersonalHotspot;
@property(readonly) BOOL isCarPlayNetwork;
... //redacted
A Apple controla o hardware, os drivers e o sistema operacional, acho que eles podem facilmente adicionar metadados extras ao transmitir o sinal Wi-Fi para que o seu Mac saiba se está adicionando ou não o ícone da cadeia.
Se alguém descobrir exatamente como a Apple fez o truque, entre em contato. :)