2012-04-02 8 views
3

Ich bin ein Universal-Spiel mit Cocos2d und Objective-C in iPhone erstellen. Fast mein Projekt ist abgeschlossen. Ich bekomme diesen Fehler während der Laufzeit auf Konsolenfenster.Assertion Error In iPhone für Universal-Spiel (Cocos2d + Objective-C), nur für iPad Simulator

Für iPhone4.3 Simulator und iPhone (Retina) funktioniert das Spiel gut.

Dieser Fehler tritt nur auf, wenn ich "iPad" Simulator zur Ausführung auswähle.

Irgendwelche Ideen? Ich bin wirklich verwirrt damit. Danke im Voraus!

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 
+0

Sie könnten vielleicht lesen, was die Fehlermeldungen sind? "WARNUNG: Bild (4096 x 1024) ist größer als die unterstützten 2048 x 2048" –

Antwort

1
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' 

Es Sie das Problem hier sagt. Sie versuchen, ein Bild zu laden, das die maximalen Abmessungen überschreitet, die das iPad unterstützen kann, sodass cocos2d es nicht laden kann. Wenn Sie versuchen, es als CCSprite hinzuzufügen, triggern Sie ein unhanded NSInternalInconsistencyException (da der Knoten nil ist), und das verursacht, Ihre App zu beenden.

Für das iPad müssen Sie ein kleineres Bild verwenden.

+1

Danke @davbryn und Nick Bull, Beide von Ihnen haben recht .. Ich habe eine Lösung mit Ihnen Vorschlag ... :-) – NSExpression