我有一个疑问,关于这个函数:
- (instancetype)initWithCenter:(CLLocationCoordinate2D)center
radius:(CLLocationDistance)radius
identifier:(NSString *)identifier;
在Pascal中,
identifier:(NSString *)identifier
必须转换为Pointer还是NSString?在Delphi源代码中,此函数的转换如下:
function initWithCenter(center: CLLocationCoordinate2D; radius: CLLocationDistance; identifier: NSSTRING): Pointer; cdecl;
然而,当我使用它时,在iOS 10上出现了一个AV(但在iOS 9上可以工作):(
如果我将NSString替换为Pointer,则它在IOS 10上工作,但我不明白为什么...
注意:这非常奇怪,因为在Delphi中,每个(NSString *)都被翻译为NSString,并且它运行良好,除了CLRegion.initCircularRegionWithCenter(在iOS10/64位下),我真的想知道为什么。https://quality.embarcadero.com/browse/RSP-15717和http://delphiworlds.com/2016/07/region-monitoring-background-ios/