Ошибка подтверждения в iPhone для универсальной игры (Cocos2d + Objective-C), ТОЛЬКО для симулятора iPad - PullRequest
3 голосов
/ 02 апреля 2012

Я создаю одну универсальную игру с использованием Cocos2d и Objective-C в iPhone.Почти мой проект завершен. Я получаю эту ошибку во время выполнения в окне консоли .

Для симулятора iPhone4.3 и iPhone (Retina), игра работает нормально.

Эта ошибка появляется только тогда, когда я выбираю «iPad» Simulator для выполнения.

Есть идеи?Я действительно запутался с этим .. Заранее спасибо!

2012-04-02 13:35:55.409 David and Goliath[35671:1803] cocos2d: CCTextureCache: removing unused texture: David_Goliath_Menu-ipad.png
[Switching to process 35671 thread 0x1803]
2012-04-02 13:35:56.410 David and Goliath[35671:1803] cocos2d: WARNING: Image (4096 x 1024) is bigger than the supported 2048 x 2048
2012-04-02 13:35:56.410 David and Goliath[35671:1803] cocos2d: Couldn't add image:Day_2048_768_MOUNTAINS_IPad.png in CCTextureCache
2012-04-02 13:35:56.411 David and Goliath[35671:1803] *** Assertion failure in -[ActionLayer addChild:z:], /Users/sumitghosh/Desktop/David and Goliath Ipad 2/libs/cocos2d/CCNode.m:390
2012-04-02 13:35:56.412 David and Goliath[35671:1803] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Argument must be non-nil'
*** Call stack at first throw:
(
    0   CoreFoundation                      0x018b15a9 __exceptionPreprocess + 185
    1   libobjc.A.dylib                     0x021ff313 objc_exception_throw + 44
    2   CoreFoundation                      0x01869ef8 +[NSException raise:format:arguments:] + 136
    3   Foundation                          0x005c13bb -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 116
    4   David and Goliath                   0x000e3fa8 -[CCNode addChild:z:] + 200
    5   David and Goliath                   0x0002d94b -[ActionLayer setBackground] + 1947
    6   David and Goliath                   0x00038454 -[ActionLayer init] + 2356
    7   David and Goliath                   0x000396ae -[ActionScene init] + 158
    8   David and Goliath                   0x000036f6 -[David_and_GoliathAppDelegate loadScenes] + 598
    9   David and Goliath                   0x00005c7b -[LoadingLayer loadScenes:] + 187
    10  CoreFoundation                      0x01821c7d __invoking___ + 29
    11  CoreFoundation                      0x01821b51 -[NSInvocation invoke] + 145
    12  Foundation                          0x005e8495 -[NSInvocationOperation main] + 51
    13  Foundation                          0x00556b76 -[__NSOperationInternal start] + 747
    14  Foundation                          0x005567ca ____startOperations_block_invoke_2 + 106
    15  libdispatch_sim.dylib               0x02514289 _dispatch_call_block_and_release + 16
    16  libdispatch_sim.dylib               0x0251758a _dispatch_worker_thread2 + 252
    17  libSystem.B.dylib                   0x97fda781 _pthread_wqthread + 390
    18  libSystem.B.dylib                   0x97fda5c6 start_wqthread + 30
)
terminate called after throwing an instance of 'NSException'
[Switching to process 35671 thread 0x207]
Current language:  auto; currently objective-c
kill
quit
Program ended with exit code: 0

1 Ответ

1 голос
/ 02 апреля 2012
2012-04-02 13:35:56.410 David and Goliath[35671:1803] cocos2d: WARNING: Image (4096 x 1024) is bigger than the supported 2048 x 2048
2012-04-02 13:35:56.410 David and Goliath[35671:1803] cocos2d: Couldn't add image:Day_2048_768_MOUNTAINS_IPad.png in CCTextureCache
2012-04-02 13:35:56.411 David and Goliath[35671:1803] *** Assertion failure in -[ActionLayer addChild:z:], /Users/sumitghosh/Desktop/David and Goliath Ipad 2/libs/cocos2d/CCNode.m:390
2012-04-02 13:35:56.412 David and Goliath[35671:1803] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Argument must be non-nil'

Это говорит вам о проблеме здесь. Вы пытаетесь загрузить изображение, размер которого превышает максимально допустимые для iPad, поэтому cocos2d не может его загрузить. Когда вы пытаетесь добавить его как CCSprite, вы запускаете нешифрованный NSInternalInconsistencyException (поскольку узел nil), и это приводит к завершению работы вашего приложения.

Для iPad вам нужно использовать уменьшенное изображение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...