[
https://issues.apache.org/jira/browse/CB-818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13281483#comment-13281483
]
Matt Goldspink commented on CB-818:
-----------------------------------
Superb!!! Thanks very much!
> Make CDVViewController also implement initWithNibName
> -----------------------------------------------------
>
> Key: CB-818
> URL: https://issues.apache.org/jira/browse/CB-818
> Project: Apache Cordova
> Issue Type: Improvement
> Components: iOS
> Affects Versions: 1.7.0
> Reporter: Matt Goldspink
> Assignee: Shazron Abdullah
> Priority: Minor
> Fix For: 1.8.0
>
>
> I just got caught upgrading from 1.5.0 to 1.7.0 by this. I extend
> CDVViewController, but I also use a nib file. The behaviour I was seeing was
> that the app would crash shortly after startup. When I used Zombie's in
> Instruments I could see that the CDVLocalStorage class was being allocated
> and then de-allocated straight away and the EXC_BAD_ACCESS error would be
> thrown by something trying to access it later on.
> After a long time debugging I realised that the init method was not being
> called on the CDVViewController because I was being initialised from a nib
> and hence:
> -(id) initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle
> *)nibBundleOrNil
> was being called. Because init was not being called the commandDelegate was
> not set and hence the line which allocated the CDVViewController to
> registerPlugins would be doing it on a nil object. If initWithNibName was
> implemented and just invoked init() this would solve this issue and hopefully
> not let others extending CDVViewController get caught out either
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira