Lösung:
In der
Unit iOSApi.CoreTelephony der Interface-Deklaration von
CTTelephonyNetworkInfo eine Zeile hinzufügen:
Delphi-Quellcode:
CTTelephonyNetworkInfo = interface(NSObject)
['{F75CE940-A78E-4C64-812E-0576386B582D}']
function subscriberCellularProvider: CTCarrier; cdecl;
function currentRadioAccessTechnology: NSString; cdecl; // <----- Hier die neue Funktion
procedure setSubscriberCellularProviderDidUpdateNotifier(Handler: TCellularProviderNotifier); cdecl;
end;
TCTTelephonyNetworkInfo = class(TOCGenericImport<CTTelephonyNetworkInfoClass, CTTelephonyNetworkInfo>) end;
Dann nur noch dafür sorgen, dass beim Kompilieren nicht die bereits erstellte
DCU einbezogen wird, sondern die gerade modifizierte
pas-Datei. Der Aufruf zieht dann so aus:
Delphi-Quellcode:
procedure TapIOSTelephony.UpdateProviderInfo;
var
networkInfo: CTTelephonyNetworkInfo;
radioAccessTechnology: string;
begin
networkInfo := TCTTelephonyNetworkInfo.Wrap(TCTTelephonyNetworkInfo.OCClass.alloc);
networkInfo.init;
FTelephonyRadioAccessTechnology := NSStringToString(networkInfo.currentRadioAccessTechnology);
end;