为什么在IPAD上测试时会出现此错误?

问题描述:

终止应用程序由于未捕获的异常 'NSInvalidArgumentException',原因: '* + [NSString的stringWithUTF8String:]:NULL CSTRING' *第一掷调用堆栈: (0x374ec8bf 0x362cb1e5 0x374ec7b9 0x374ec7db 0x31dade97 0x278f 0x2c2d 0x307877eb 0x307813bd 0x3074f921 0x3074f3bf 0x3074ed2d 0x36000e13 0x374c0553 0x374c04f5 0x374bf343 0x374424dd 0x374423a5 0x30780457 0x3077d743 0x2439 0x23d0) 终止叫做抛出异常为什么在IPAD上测试时会出现此错误?

我只是不明白为什么它工作,直到5分钟前同样的事情测试它,现在它不工作anymo回覆。我能做些什么来解决这个问题?该应用程序在模拟器上正常工作。

+0

你传递的var的值是多少?设备上的NULL? – jv42

你的字符串cString = null..

填充它。

+0

该值应该在哪里? – Pillblast

+0

您定义了一个空的变量。 检查你的瓦尔,打印它们看它出错的地方。 – Jordy

你从哪里得到字符串? “在模拟器上运行但不是设备”的更常见原因之一是您正在从文件中读取数据并使用错误的情况 - 设备具有区分大小写的文件系统,但Macs不区分大小写(通常情况下)。

它在设备上无法工作的原因是因为我修改了数据库,并且出于某种原因,设备上的错误显然与新代码不兼容。在我从Ipod中删除应用程序后,再运行它,它工作得很好。

我之所以出现该特定错误的原因是因为某些持有数据库列的变量是空的。