In short, inside of an architect delegate method, I tried to stringify a Swift dictionary into JSON, to pass on to the architect view. My Dictionary had objects in it that couldn't be automatically recursively serialized into JSON, so that failed with an uncaught exception, which I was ignoring, because I wasn't working on that feature at the time. the WTArchitectView would load up fine, and I was able to use my UIButton controls to dismiss the view. In the same app run, if I tried to instatiate a new view controller with a new WTArchitectView, I got an abort() from Wikitude stating the old view had not been deallocated. Checking on everything closely, I proved I was most definitely not retaining that view, so I was baffled. It turns out the JSON writing was the culprit:
- (void)architectView:(WTArchitectView *)architectView didFinishLoadArchitectWorldNavigation:(WTNavigation *)navigation { NSLog(@"did load architect world %@",navigation); // works self.architectWorld = navigation; // works NSLog(@"will parse ar tasks"); // works NSString* jsonString = ; // raises "*** Webkit discarded uncaught exception ... NSLog(@"did parse ar tasks"); // never run }
Mike.cornell.009