(NSString *) it’s in pascal a pointer or a NSString?


I have a doubt, on this function :

– (instancetype)initWithCenter:(CLLocationCoordinate2D)center
identifier:(NSString *)identifier;

In pascal, does the identifier:(NSString *)identifier must be converted as Pointer or NSString ?

in the delphi source code, this function is converted like this :

function initWithCenter(center: CLLocationCoordinate2D; radius: CLLocationDistance; identifier: NSSTRING): Pointer; cdecl;

however when i use it i have an AV under ios 10 (but it’s work on ios 9) 🙁

If i replace NSString by Pointer then it’s work on IOS 10 but i don’t understand why …

NOTE: it’s very strange because in delphi every (NSString *) are translated as NSString and it’s work fine EXCEPT for CLRegion.initCircularRegionWithCenter (under ios10/64bit) and i really want to know why. https://quality.embarcadero.com/browse/RSP-15717 and http://delphiworlds.com/2016/07/region-monitoring-background-ios/

Comments are closed.