Ik heb een hele kleine functie geschreven die detecteert of jouw Mac een netwerk verbinding heeft waarbij het niet uitmaakt of dit nu Ethernet, WiFi, 3G, 4G, Bluetooth etc is.
Deze functie is afhankelijk van de aanwezigheid van een nameserver (DNS), wat onder normale omstandigheden het geval is.
De alternatieven die ik tot dusver gevonden had, werken met het pingen van Google.com (wat irrelevant is voor een netwerk welke geen Internet toegang heeft), en de Reachability functions (Cocoa) functies die moeilijk te implementeren zijn [in Lazarus Pascal].
Deze functie detecteert dus NIET of er Internet toegang is - alleen maar dat er een werken netwerk verbinding is.
De functie geeft TRUE terug als er een werkende verbinding is, en FALSE als er GEEN werkende verbinding is.
Je moet wel even de unit "Process" toevoegen aan de Uses clause.
function NetwerkGevonden:boolean;
var s:ansistring;
begin
RunCommand('/usr/sbin/scutil',['--dns'],s);
NetwerkGevonden:= pos('nameserver',s)>0;
end;