iOS Today Extension MapView仅适用于Xcode Simulator

时间:2015-01-09 07:25:27

标签: ios mkmapview today-extension

我为我的应用程序实现了Today小部件。

mkmapView在两种情况下工作正常: 1. Xcode模拟器 2.使用Xcode运行的设备

但是当我按设备本身运行小部件时,mapView仅显示背景颜色和用户的位置标记。

有人知道为什么吗?如何解决?

THX!

2 个答案:

答案 0 :(得分:2)

直接来自 Apple documentation

  

确保Today扩展点适合您要提供的功能。最好的小部件为用户提供快速更新或启用非常简单的任务。如果要创建启用多步骤任务的应用程序扩展或帮助用户执行冗长的任务(例如上载或下载内容),则今天的扩展点不是正确的选择。

跨度或缩放时需要不断更改

MKMapView,并以受尊重的方式调用委托。

因此,当您在今天的小部件中添加地图时,这是您没有看到任何更新的原因之一。

答案 1 :(得分:1)

您可以使用MKMapSnapshotter拍摄地图的快照,但我仍然有一些记忆和自动布局(为什么!?!?)在今天的扩展中使用此问题。我们不太好但工作的解决方案是使用我们的应用程序的后台位置获取机制和shared container来存储来自MKMapSnapshotter的NSData。然后在今天的扩展中,做尽可能少的工作,只需从容器中读取NSData并使用UIImageView显示它。