1

这真让我抓狂...

我使用 Google Maps SDK for iOS 已经有一段时间了(即使是在 App Store 产品中)。现在,我不能让它在 iOS 模拟器中运行了!无论我尝试运行哪个项目(甚至是 SDK 中的示例代码),它都会在第一次添加地图时崩溃,例如:

self.view = [GMSMapView mapWithFrame: frame camera: camera];

这是我收到的日志消息:

2013-05-16 10:59:01.047 SDKDemos[939:1303] ADDRESPONSE - ADDING TO MEMORY ONLY: http://dl.google.com/geosdk/latest
2013-05-16 10:59:01.050 SDKDemos[939:1b03] Google Maps SDK for iOS version: 1.2.2.3031
2013-05-16 10:59:01.050 SDKDemos[939:1b03] New version of Google Maps SDK for iOS available: 1.3.0.3430
2013-05-16 10:59:01.111 SDKDemos[939:c07] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'

我最近在这台 Mac 上尝试了一个防病毒软件,所以一个理论是它可能阻止了一些重要的谷歌地图数据的下载。现在,我已经卸载了这个杀毒软件,删除了 Xcode 的 DerivedData 并重置了 iOS 模拟器,但同样令人失望的结果。

当我在 iPhone 上运行它们时,我尝试过的所有项目都运行良好。我还有另一台 Mac,在模拟器上一切正常。很明显,这台特定的机器一定发生了一些事情。

有什么建议吗?

更新

最初,我完全专注于第一ADDRESPONSE - ADDING TO MEMORY ONLY: http://dl.google.com/geosdk/latest条警告消息(由于 SDK 然后正确地打印了该字符串进一步向下的两行,我发现该行不太可能与崩溃的真正原因有关。(我已经相应地更改了这个问题的标题。)

4

1 回答 1

0

很难说这是否真的有资格作为答案......无论如何,我想记录这个结果,以防其他人在未来偶然发现同样的问题:

离开几天后,我今天回来,打开我的 iMac,进行了新的试运行,然后……

问题消失了!一切都按预期工作!

在 Xcode 配置中,我没有更改任何一行代码或任何内容。我唯一做的就是再次删除 Xcode 的 DerivedData 并重置模拟器(我上周做了很多次,但当时没有成功)。

我想我的假设一定是正确的,我的机器中一定有一个缓存,但是在 Xcode 的 DerivedData 之外,这导致了这个问题。然后我离开了几天,这个缓存只是超时了!

即使这听起来有点牵强,我想不出这种奇怪行为的另一个原因。

知道这个缓存的位置真的很有用,这样人们就可以清理它而无需关闭 mac 几天!

于 2013-05-20T10:37:10.783 回答