我有一个游戏项目,在调试和发布模式下,设备运行得非常好。我有两个版本。旧版本和新版本具有更多(稍后我已添加)功能,并且两者的捆绑ID,版本相同。当我构建旧版本时,之前没有安装“myGame”应用。它构建良好并且运行良好,反之亦然,如果我首先构建新的。
但是当我使用已安装在ipod touch中的旧应用程序构建新版本1时应用程序崩溃,反之亦然如果我使用已安装的新应用程序构建旧版本。控制台消息如下所示:
/* Old version installed first and build new version */
Running… gdb-arm-apple-darwin(3441) malloc: *** error for object 0x4601e0: incorrect checksum for freed object - object was probably modified after being freed. *** set a breakpoint in malloc_error_break to debug Error launching remote program: failed to get the task for process 6791. Error launching remote program: failed to get the task for process 6791. The program being debugged is not being run. The program being debugged is not being run. gdb-arm-apple-darwin(3441) malloc: *** error for object 0x42a7d0: incorrect checksum for freed object - object was probably modified after being freed. *** set a breakpoint in malloc_error_break to debug/* New version installed first in device then build old version */
Running… gdb-arm-apple-darwin(4195) malloc: *** error for object 0x45e710: incorrect checksum for freed object - object was probably modified after being freed. *** set a breakpoint in malloc_error_break to debug Error launching remote program: failed to get the task for process 7079. Error launching remote program: failed to get the task for process 7079. The program being debugged is not being run. The program being debugged is not being run.
我也可以通过简单地从设备中删除以前安装的应用来解决此问题。但我想知道这次崩溃的根本原因,我也担心如果我在appStore中安装了新版本的应用程序,那么要求用户先删除旧版本以使用新版本会非常不方便。
所以,请帮我解决这个问题。感谢任何类型的信息。
mysticBoy59
PS:我使用了相同的旧版app,并添加了新版本的功能。新人不应该轻易取代旧的吗?随着我们继续添加功能,构建和测试!!
答案 0 :(得分:1)
由于我找到了解决问题的方法,我正在解释一下。通常,当我们搜索“正在调试的程序没有运行”的解决方案时,我们只需删除设备中的旧(现有)应用程序并执行一个似乎工作正常的新构建。
但崩溃,是的,当然其中有一些问题我先忽略了。实际问题是构建设置中有轻微的产品名称更改 - >打包。 正如我不得不提到的,这个游戏项目是由我和我的朋友完成的,当他做这个编程部分时,他对产品名称(包含空格)几乎没有什么变化(我猜不小心)
这会导致新旧应用版本中产品名称中的冲突导致崩溃。现在它工作正常。所以你们任何人都遇到过它,你需要先检查一下。因为大多数游戏都是大型项目,并且参与其中的开发人员数量很多。所以,有时会导致这些行为。
感谢所有阅读它的人。然后去...... :)。
答案 1 :(得分:0)
我想先检查您要保存到设备的数据。旧版本可能正在为新版本正在读取的手机内存写入内容并导致其崩溃。