我开始在一个需要在某些时候显示地图的应用程序中工作。我想使用苹果内置的对此(又名Mapkit
)的支持,但到目前为止还没有成功。我开始使用这个例子玩 mapkit 。MKMapView 始终显示空白网格,这不是预期的结果。
然后我检查了模拟器Debug >> Open System Log...我在地图图块请求的响应中发现了以下内容:
Jan 27 21:04:33 ppp-177var5.pppi.enet.cu geod[1234] <Warning>: Error downloading resource: Error Domain=GEOErrorDomain Code=-601 "The operation couldn’t be completed. (GEOErrorDomain error -601.)" UserInfo=0x2d5ea10 {NSErrorFailingURLStringKey=http://gspa21.ls.apple.com/stylesheet/default-522.styleproto?sid=00&tk=9697a89581dee74b03f5fa7dac0dbf37&mapkey=1390864469_017ead13c5015c535f5af0b037507566, HTTP Status Code=403}
此外,我通过使用 Safari 导航检查了模拟器的连接性,并且 DID 工作!显然,苹果服务器正在返回禁止地图 http 请求。
这是使用 Charles 的(网络调试器)进行调试的快照:
有关更多信息,我正在OS X 10.9.1(Mavericks)
运行mac mini
. 另外,我认为这不是国家限制的问题,因为我通过位于英国的 VPN 连接并且无法正常工作。我测试了 OS X 提供的地图应用程序,我得到了同样的禁止错误。
我的问题是:
- 为什么会这样?
- 参数是什么
sid
,tk
以及mapkey
在地图图块请求的查询字符串中。
请避免建议切换到,Mapbox framework
因为这不是我想要的。