【问题标题】:MKMapSnapshotter 'completionHandler' not called on iPhone 6/6+iPhone 6/6+ 上未调用 MKMapSnapshotter 'completionHandler'
【发布时间】:2016-01-02 06:27:54
【问题描述】:

我正在开发适用于 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 进行了测试。
任何想法 - 如何解决?

【问题讨论】:

    标签: ios objective-c dictionary mapkit mkmapsnapshotter


    【解决方案1】:

    试试这个

    __block __strong typeof(self) blockSelf = self
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-03
      • 1970-01-01
      • 2017-11-19
      • 1970-01-01
      • 2014-12-02
      • 1970-01-01
      相关资源
      最近更新 更多