Sorry about that. I had some production issues, so had to downgrade to Xcode 8 to prepare for a release.
Lines 11-17 are what kick off the segue. I included doAfterAlertActions: as well. Just to restate what I am seeing:
Prior to Xcode 9/iOS 11 upgrade, performSegueWithIdentifier (line 15) triggers DemographicsVC viewDidLoad, and everything appears.
After the Xcode 9/iOS 11 upgrade, the DemographicsVC screen does not appear. DemographicsVC viewDidLoad is not called. No viewWillAppear. No viewDidAppear. Nothing, just a black screen.
I can add more snippets, if necessary. Thanks!
---------- 8 < ------------ cut here ---------- 8 < -------------
// EditDictationViewController.m
1-(void)viewDidAppear:(BOOL)animated
2{
3
4 [super viewDidAppear:animated];
5
6 [[SharedApplication sharedInstance] turnOffSleepMode];
7
8 if ([Utilities IsSmallFormat])
9 {
10 //If a new dictation doesn't have demographics, the editor passes control to the demographics screen
11 if (!self.demographicsInitialized && self.newDictation)
12 {
13 self.navigationController.navigationBar.alpha = k1Percent;
14 [Utilities doAfterAlertActions:^{
15 [self performSegueWithIdentifier:kSegueEditToDemographics sender:self]; NSLog(@"Stack trace B: %@", [NSThread callStackSymbols]);
16 }];
17 }
18 }
19 [SharedApplication sharedInstance].segueInProgress = nil;
20 [self setMicrophoneState];
21}
22
23+(void)doAfterAlertActions:(void (^)(void))simpleBlock
24{
25
26 SharedApplication *sa = [SharedApplication sharedInstance];
27
28 for (DFAlertView *alert in sa.alertViews)
29 {
30 if (alert.isBeingPresented || alert.isBeingDismissed)
31 { // if one is found, queue up another try in 5 ms
32 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(k5Milliseconds * NSEC_PER_SEC)),
33 dispatch_get_main_queue(), ^{
34 [Utilities doAfterAlertActions:simpleBlock];
35 });
36 return;
37 }
38 }
39 simpleBlock();
40}