我正在开发与MKMapSnapshotter
API一起工作的应用程序。
它可以快速拍摄所需区域的地图。
从前台应用状态和主线程调用它的代码,如下所示:
MKMapSnapshotOptions* options = [[MKMapSnapshotOptions alloc] init];
options.region = MKCoordinateRegionMake(locationCenter, span);
options.scale = UIScreen.mainScreen.scale;
options.size = size;
__block typeof(self) blockSelf = self;
MKMapSnapshotter* snapshooter = [[MKMapSnapshotter alloc] initWithOptions: options];
[snapshooter startWithCompletionHandler: ^(MKMapSnapshot* snapshot, NSError* error) {
blockSelf.snapshot = snapshot.image;
}];
我注意到,在iPhone 6和6+上,完成处理程序从未被调用,在iOS 8和9上测试。
在iOS模拟器中,一切都像预期的那样工作,用Xcode 7, iOS 8和;9.
有什么想法-如何解决这个问题?
try this
__block __strong typeof(self) blockSelf = self