0

我正在开发适用于MKMapSnapshotterAPI 的应用程序。
它使具有所需区域的地图快照。
从前台应用程序状态和主线程调用它的代码,如下所示:

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 进行了测试。
任何想法 - 如何解决这个问题?

4

1 回答 1

1

尝试这个

__block __strong typeof(self) blockSelf = self
于 2015-10-05T15:02:16.027 回答