IPhone assertion error for universal game (Cocos2d + Objective-C), ONLY for iPad Simulator

I am creating one generic game using Cocos2d and Objective-C on iPhone. My project is almost complete. I am getting this error at runtime in the console window .

For iPhone4.3 and iPhone (Retina) simulator, the game works fine.

This error only occurs when I select Simulator for iPad.

Any ideas? I am really confused about this. Thanks in advance!

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

      

+3


source to share


1 answer


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'

      

This tells you the problem here. You are trying to download an image that exceeds the maximum sizes supported by iPad, so cocos2d cannot download it. When you try to add it like CCSprite

, you run unhanded NSInternalInconsistencyException

(since node is nil

) and this causes your application to terminate.



For iPad, you will need to use a smaller image.

+1


source







All Articles