Игра cocos2d для iphone вылетает при перезапуске

В настоящее время я делаю игру для iphone, используя cocos2d.

Игра работает отлично, пока я не попытаюсь перезапустить программу. Если я выйду, завершу приложение (дважды щелкните кнопку «Домой», а затем удалю значок игры с панели запущенных в данный момент приложений), а затем перезапущу, выдается ошибка. Если я выхожу и перезапускаю программу, не завершая ее, она возобновляется с того места, где остановилась. Мне еще предстоит проверить это на реальном iphone, только на симуляторе. Приложение не вылетает при первом запуске. кто-нибудь может помочь?

это строка, на которой произошел сбой программы: (это из main.m)

int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");

со следующей ошибкой: Тема 1: программа получила сигнал: "SIGKILL"

вот результат:

GNU gdb 6.3.50-20050815 (Apple version gdb-1518) (Sat Feb 12 02:52:12 UTC 2011)

Copyright 2004 Free Software Foundation, Inc.

GDB is free software, covered by the GNU General Public License, and you are

welcome to change it and/or distribute copies of it under certain conditions.

Type "show copying" to see the conditions.

There is absolutely no warranty for GDB.  Type "show warranty" for details.

This GDB was configured as "x86_64-apple-darwin".sharedlibrary apply-load-rules all

Attaching to process 75619.

2011-07-07 10:02:21.765 Mellow Adventures[75619:207] cocos2d: cocos2d v1.0.0-beta

2011-07-07 10:02:21.767 Mellow Adventures[75619:207] cocos2d: Using Director Type:CCDirectorDisplayLink

2011-07-07 10:02:21.843 Mellow Adventures[75619:207] cocos2d: OS version: 4.3.2 (0x04030200)

2011-07-07 10:02:21.844 Mellow Adventures[75619:207] cocos2d: GL_VENDOR:   Apple Computer, Inc.

2011-07-07 10:02:21.845 Mellow Adventures[75619:207] cocos2d: GL_RENDERER: Apple Software Renderer

2011-07-07 10:02:21.845 Mellow Adventures[75619:207] cocos2d: GL_VERSION:  OpenGL ES-CM 1.1 APPLE

2011-07-07 10:02:21.846 Mellow Adventures[75619:207] cocos2d: GL_MAX_TEXTURE_SIZE: 2048

2011-07-07 10:02:21.849 Mellow Adventures[75619:207] cocos2d: GL_MAX_MODELVIEW_STACK_DEPTH: 16

2011-07-07 10:02:21.850 Mellow Adventures[75619:207] cocos2d: GL_MAX_SAMPLES: 4

2011-07-07 10:02:21.851 Mellow Adventures[75619:207] cocos2d: GL supports PVRTC: YES

2011-07-07 10:02:21.853 Mellow Adventures[75619:207] cocos2d: GL supports BGRA8888 textures: YES

2011-07-07 10:02:21.854 Mellow Adventures[75619:207] cocos2d: GL supports NPOT textures: YES

2011-07-07 10:02:21.854 Mellow Adventures[75619:207] cocos2d: GL supports discard_framebuffer: YES

2011-07-07 10:02:21.855 Mellow Adventures[75619:207] cocos2d: compiled with NPOT support: NO

2011-07-07 10:02:21.856 Mellow Adventures[75619:207] cocos2d: compiled with VBO support in TextureAtlas : YES

2011-07-07 10:02:21.857 Mellow Adventures[75619:207] cocos2d: compiled with Affine Matrix transformation in CCNode : YES

2011-07-07 10:02:21.858 Mellow Adventures[75619:207] cocos2d: compiled with Profiling Support: NO

2011-07-07 10:02:21.880 Mellow Adventures[75619:207] cocos2d: surface size: 480x320

[Switching to process 75619 thread 0x580b]

AudioStreamBasicDescription:  2 ch,  44100 Hz, 'lpcm' (0x00000C2C) 8.24-bit little-endian signed integer, deinterleaved

[Switching to process 75619 thread 0x207]

2011-07-07 10:02:23.419 Mellow Adventures[75619:207] cocos2d: Frame interval: 1

2011-07-07 10:02:30.265 Mellow Adventures[75619:207] cocos2d: Frame interval: 15

2011-07-07 10:02:32.587 Mellow Adventures[75619:207] cocos2d: Frame interval: 15

2011-07-07 10:02:32.589 Mellow Adventures[75619:207] cocos2d: Frame interval: 1

2011-07-07 10:02:35.239 Mellow Adventures[75619:207] cocos2d: Frame interval: 15

Current language:  auto; currently objective-c

(gdb)

person Jacob Sharf    schedule 07.07.2011    source источник


Ответы (2)


Я нашел в Xcode 4 для любого приложения, если вы работаете с разрешенными точками останова (режим отладки), а затем переходите на главный экран и закрываете приложение (дважды щелкните кнопку «Домой» и т. д.), а затем попробуйте запустить его из домашний экран (все без остановки текущего сеанса отладки xcode), он сходит с ума (даже после того, как вы нажмете «Продолжить» в отладчике из SIGKILL, чтобы закрыть приложение). Я бы не стал беспокоиться об этом сейчас, если он возобновится нормально и запустится в первый раз нормально.

Это также происходит, если вы отлаживаете устройство (подключенное с помощью Xcode), но если вы отключите устройство и попытаетесь воспроизвести проблему как отдельную, все будет работать нормально.

Я не отправил его в Apple, но, пожалуйста, не стесняйтесь. :)

person Jesse Naugher    schedule 07.07.2011
comment
как отключить режим отладки? Я вроде новичок в этом. - person Jacob Sharf; 07.07.2011
comment
я просто имел в виду отключение точек останова, но когда возникает ошибка, можете ли вы нажать «Продолжить» (кнопка воспроизведения на панели отладчика gdb), как если бы вы были в точке останова? Я получаю ту же самую программу, получившую сообщение SIGKILL, но просто нажмите «Продолжить», и все работает нормально. (пока вы не попытаетесь снова перейти на домашний экран, и он будет черным экраном, это уроды, о которых я говорил в своем посте) - person Jesse Naugher; 07.07.2011
comment
ну, я получаю то же самое, что и вы, так что я думаю, что это, вероятно, вина Apple (либо так, либо мы оба совершаем одну и ту же ошибку). - person Jacob Sharf; 07.07.2011

Используйте NSZombieEnabled в своей среде сборки для получения дополнительной информации об этом сбое.

person Pripyat    schedule 07.07.2011
comment
Вам нужно нажать на свою цель (верхний правый элемент управления всплывающим окном), а затем на «Редактировать» (не знаю точных меток наизусть, я в основном использую Xcode 3.2.6). Затем нажмите «Отладка и аргументы». Там вы можете добавить NSZombieEnabled и его значение 1 (для включенного). Затем консоль выведет, где произошел сбой и почему. - person Pripyat; 07.07.2011
comment
NSZombieEnabled покажет результаты при сбое вашего приложения. Просто дайте ему вылететь, а затем проверьте в консоли. Там вы увидите гораздо больше подробностей о сбое, чем при выключенном NSZombieEnabled. - person Pripyat; 08.07.2011