0

Problem:

My app crashes, everytime I press the "< chat" button (this only happens when I add the purple SKEmitterNode to GameScene.m).

enter image description here

Error:

enter image description here

enter image description here

Code:

1) From UIViewController present DrawDrawViewController (UIViewController):

DrawDrawViewController *drawDrawViewController = [[DrawDrawViewController alloc] init];
[self.navigationController pushViewController:drawDrawViewController animated:YES];

2) Inside DrawDrawViewController (UIViewController) Display the GameScene (SKScene)

@interface DrawDrawViewController()
@property (nonatomic) SKView *drawDrawView;
@property (nonatomic) GameScene *scene;
@end


- (void)viewDidLoad {
    [super viewDidLoad];

    // Configure the view.
    _drawDrawView = [[SKView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];

    [self.view addSubview:_drawDrawView];
    if(!_drawDrawView.scene) {
        _drawDrawView.ignoresSiblingOrder = YES;

        // Create and configure the scene.
        _scene = [GameScene unarchiveFromFile:@"GameScene"];
        _scene.scaleMode = SKSceneScaleModeAspectFill;

        // Present the scene.
        [_drawDrawView presentScene:_scene];
    }
}

3) Inside GameScene.m display "hello world" and also a SKEmitterNode:

-(void)didMoveToView:(SKView *)view {
    /* Setup your scene here */
    SKLabelNode *myLabel = [SKLabelNode labelNodeWithFontNamed:@"Chalkduster"];

    myLabel.text = @"Hello, World!";
    myLabel.fontSize = 65;
    myLabel.position = CGPointMake(CGRectGetMidX(self.frame),
                                   CGRectGetMidY(self.frame));

    [self addChild:myLabel];

    NSString *fireEmmitterPath = [[NSBundle mainBundle] pathForResource:@"magic" ofType:@"sks"];
    SKEmitterNode *fireEmmitter = [NSKeyedUnarchiver unarchiveObjectWithFile:fireEmmitterPath];
    fireEmmitter = [NSKeyedUnarchiver unarchiveObjectWithFile:fireEmmitterPath];
    fireEmmitter.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/2 - 200);
    fireEmmitter.name = @"fireEmmitter";
    fireEmmitter.zPosition = 1;
    fireEmmitter.targetNode = self;
    fireEmmitter.particleBirthRate = 100;
    [self addChild: fireEmmitter];
}
user1872384
  • 6,886
  • 11
  • 61
  • 103
  • If you create a breakpoint on Objective-C exceptions, do you get a more useful stack trace. – Phillip Mills Apr 27 '15 at 10:33
  • Hi @PhillipMills I've placed "All Exception" breakpoint but it doesn't return any useful information. Is there a better way? – user1872384 Apr 27 '15 at 13:07
  • I don't know...I've never seen the source code point into main.m when there are breakpoint exceptions before. That's usually a sign that exceptions aren't being caught even by the debugger. – Phillip Mills Apr 27 '15 at 13:14
  • Yes, I understand that the exceptions wasn't capture by the debugger. Is there any workaround? This issue is very rare, maybe because I'm mixing spritekit with UINavigationController. – user1872384 Apr 28 '15 at 01:26

0 Answers0