Kastri icon indicating copy to clipboard operation
Kastri copied to clipboard

Connectivity on iOS no longer builds due to missing "Any" in TIPAddress

Open MyBuzzTechnologies opened this issue 1 year ago • 1 comments

In DW.Connectivity.iOS.pas:

Undeclared identifier: 'Any'

constructor TReachability.Create;
var
  LEndPoint: TNetEndpoint;
  LRawAddress: sockaddr;
  LFlags: SCNetworkReachabilityFlags;
begin
  inherited;
  LEndPoint := TNetEndpoint.Create(TIPAddress.Any, 0); <-- error
  LRawAddress := LEndPoint;
  FReachabilityRef := SCNetworkReachabilityCreateWithAddress(kCFAllocatorDefault, @LRawAddress);
  SCNetworkReachabilityGetFlags(FReachabilityRef, @LFlags);
  UpdateReachability(LFlags);
  Start;
end;

In DW.Connectivity.pas, there is indeed no "Any" field:

  TIPAddress = record
    IP: string;
    Version: TIPVersion;
  end;

MyBuzzTechnologies avatar Aug 21 '24 07:08 MyBuzzTechnologies

In DW.Connectivity.iOS.pas:

DW.Connectivity.iOS.pas has become redundant, as DW.Connectivity.Mac.pas replaces it. This is the implementation uses clause in DW.Connectivity.pas:

{$IF Defined(ANDROID)}
uses
  DW.Connectivity.Android;
{$ELSEIF Defined(MACOS)}
uses
  DW.Connectivity.Mac;
{$ELSEIF Defined(MSWINDOWS)}
uses
  DW.Connectivity.Win;
{$ELSE}
uses
  DW.Connectivity.Default;
{$ENDIF}

DelphiWorlds avatar Aug 21 '24 08:08 DelphiWorlds

Thanks Dave, I've replaced the reference to the .iOS unit - must be an old reference. Works great now thanks

MyBuzzTechnologies avatar Aug 28 '24 11:08 MyBuzzTechnologies