|
126 | 126 | if (RuntimeConfig.IsDebug) {
|
127 | 127 | // Mark that a JavaScript error occurred
|
128 | 128 | jsErrorOccurred = true;
|
129 |
| - NSLog(@"***** JavaScript exception occurred - showing beautiful NativeScript error modal " |
| 129 | + NSLog(@"***** JavaScript exception occurred " |
130 | 130 | @"in debug mode *****\n");
|
131 | 131 | NSLog(@"%@", reasonStr);
|
132 |
| - NSLog(@"π¨ CALLING ShowErrorModal for OnUncaughtError - should display beautiful branded " |
133 |
| - @"modal..."); |
| 132 | + // NSLog(@"π¨ CALLING ShowErrorModal for OnUncaughtError - should display beautiful branded " |
| 133 | + // @"modal..."); |
134 | 134 |
|
135 | 135 | // Show the beautiful error modal with SAME comprehensive message as terminal
|
136 | 136 | std::string errorTitle = "Uncaught JavaScript Exception";
|
|
149 | 149 |
|
150 | 150 | // Use the same comprehensive fullMessage that the terminal uses (identical stack traces)
|
151 | 151 | std::string completeStackTrace = reasonStr ? [reasonStr UTF8String] : fullMessage;
|
152 |
| - NSLog(@"***** End stack trace - showing beautiful NativeScript error modal and continuing " |
153 |
| - @"execution *****\n"); |
| 152 | + NSLog(@"***** End stack trace - Fix error to continue *****\n"); |
154 | 153 | ShowErrorModal(errorTitle, errorMessage, completeStackTrace);
|
155 | 154 |
|
156 | 155 | // Don't crash in debug mode - just return
|
|
557 | 556 | @try {
|
558 | 557 | NativeScriptException::showErrorModalSynchronously(title, message, stackTrace);
|
559 | 558 | } @catch (NSException* exception) {
|
560 |
| - NSLog(@"Failed to create error modal UI: %@", exception); |
| 559 | + // NSLog(@"Failed to create error modal UI: %@", exception); |
561 | 560 | NSLog(@"Error details - Title: %s, Message: %s", title.c_str(), message.c_str());
|
562 | 561 | }
|
563 | 562 | } else {
|
564 | 563 | dispatch_sync(dispatch_get_main_queue(), ^{
|
565 | 564 | @try {
|
566 | 565 | NativeScriptException::showErrorModalSynchronously(title, message, stackTrace);
|
567 | 566 | } @catch (NSException* exception) {
|
568 |
| - NSLog(@"Failed to create error modal UI: %@", exception); |
| 567 | + // NSLog(@"Failed to create error modal UI: %@", exception); |
569 | 568 | NSLog(@"Error details - Title: %s, Message: %s", title.c_str(), message.c_str());
|
570 | 569 | }
|
571 | 570 | });
|
|
575 | 574 | void NativeScriptException::showErrorModalSynchronously(const std::string& title,
|
576 | 575 | const std::string& message,
|
577 | 576 | const std::string& stackTrace) {
|
578 |
| - NSLog(@"π¨ Creating beautiful error modal UI..."); |
579 |
| - |
580 | 577 | // Use static variables to keep strong references and prevent deallocation
|
581 | 578 | static UIWindow* __attribute__((unused)) foundationWindowRef =
|
582 | 579 | nil; // Keep foundation window alive
|
|
585 | 582 | // BOOTSTRAP iOS APP LIFECYCLE: Ensure basic app infrastructure exists
|
586 | 583 | // This is crucial when JavaScript fails before UIApplicationMain completes normal setup
|
587 | 584 | UIApplication* sharedApp = [UIApplication sharedApplication];
|
588 |
| - NSLog(@"π Bootstrap: Current app state: %ld", (long)sharedApp.applicationState); |
589 |
| - NSLog(@"π Bootstrap: Connected scenes: %lu", (unsigned long)sharedApp.connectedScenes.count); |
590 |
| - NSLog(@"π Bootstrap: App windows: %lu", (unsigned long)sharedApp.windows.count); |
591 |
| - NSLog(@"π Bootstrap: App delegate: %@", sharedApp.delegate); |
592 |
| - NSLog(@"π Bootstrap: App delegate class: %@", |
593 |
| - sharedApp.delegate ? NSStringFromClass([sharedApp.delegate class]) : @"NULL"); |
594 |
| - NSLog(@"π Bootstrap: Main screen: %@", [UIScreen mainScreen]); |
595 |
| - NSLog(@"π Bootstrap: Main screen bounds: %@", NSStringFromCGRect([UIScreen mainScreen].bounds)); |
596 |
| - NSLog(@"π Bootstrap: Main screen scale: %.2f", [UIScreen mainScreen].scale); |
597 | 585 |
|
598 | 586 | // If no windows exist, create a foundational window to establish the hierarchy
|
599 | 587 | if (sharedApp.windows.count == 0) {
|
600 |
| - NSLog(@"π Bootstrap: No app windows exist - creating foundational window hierarchy"); |
| 588 | + // NSLog(@"π Bootstrap: No app windows exist - creating foundational window hierarchy"); |
601 | 589 |
|
602 | 590 | // Create a basic foundational window that mimics what UIApplicationMain would create
|
603 | 591 | UIWindow* foundationWindow = nil;
|
|
610 | 598 | for (UIScene* scene in sharedApp.connectedScenes) {
|
611 | 599 | if ([scene isKindOfClass:[UIWindowScene class]]) {
|
612 | 600 | foundationScene = (UIWindowScene*)scene;
|
613 |
| - NSLog(@"π Bootstrap: Found existing scene for foundation window"); |
| 601 | + // NSLog(@"π Bootstrap: Found existing scene for foundation window"); |
614 | 602 | break;
|
615 | 603 | }
|
616 | 604 | }
|
617 | 605 |
|
618 | 606 | if (foundationScene) {
|
619 | 607 | foundationWindow = [[UIWindow alloc] initWithWindowScene:foundationScene];
|
620 |
| - NSLog(@"π Bootstrap: Created foundation window with existing scene"); |
| 608 | + // NSLog(@"π Bootstrap: Created foundation window with existing scene"); |
621 | 609 | } else {
|
622 | 610 | // If no scenes exist, create a window without scene (iOS 12 style fallback)
|
623 | 611 | foundationWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
|
624 |
| - NSLog(@"π Bootstrap: Created foundation window without scene (emergency mode)"); |
| 612 | + // NSLog(@"π Bootstrap: Created foundation window without scene (emergency mode)"); |
625 | 613 | }
|
626 | 614 | } else {
|
627 | 615 | // iOS 12 and below - simple window creation
|
628 | 616 | foundationWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
|
629 |
| - NSLog(@"π Bootstrap: Created foundation window for iOS 12"); |
| 617 | + // NSLog(@"π Bootstrap: Created foundation window for iOS 12"); |
630 | 618 | }
|
631 | 619 |
|
632 | 620 | if (foundationWindow) {
|
|
643 | 631 | // Keep a strong reference to prevent deallocation
|
644 | 632 | foundationWindowRef = foundationWindow;
|
645 | 633 |
|
646 |
| - NSLog(@"π Bootstrap: Foundation window established - app now has basic window hierarchy"); |
647 |
| - NSLog(@"π Bootstrap: Foundation window frame: %@", |
648 |
| - NSStringFromCGRect(foundationWindow.frame)); |
649 |
| - NSLog(@"π Bootstrap: Foundation window isKeyWindow: %@", |
650 |
| - foundationWindow.isKeyWindow ? @"YES" : @"NO"); |
651 |
| - NSLog(@"π Bootstrap: Foundation window hidden: %@", foundationWindow.hidden ? @"YES" : @"NO"); |
652 |
| - NSLog(@"π Bootstrap: Foundation window alpha: %.2f", foundationWindow.alpha); |
653 |
| - NSLog(@"π Bootstrap: Foundation window level: %.0f", foundationWindow.windowLevel); |
654 |
| - NSLog(@"π Bootstrap: Foundation window rootViewController: %@", |
655 |
| - foundationWindow.rootViewController); |
| 634 | + // NSLog(@"π Bootstrap: Foundation window established - app now has basic window hierarchy"); |
| 635 | + // NSLog(@"π Bootstrap: Foundation window frame: %@", |
| 636 | + // NSStringFromCGRect(foundationWindow.frame)); |
| 637 | + // NSLog(@"π Bootstrap: Foundation window isKeyWindow: %@", |
| 638 | + // foundationWindow.isKeyWindow ? @"YES" : @"NO"); |
| 639 | + // NSLog(@"π Bootstrap: Foundation window hidden: %@", foundationWindow.hidden ? @"YES" : |
| 640 | + // @"NO"); NSLog(@"π Bootstrap: Foundation window alpha: %.2f", foundationWindow.alpha); |
| 641 | + // NSLog(@"π Bootstrap: Foundation window level: %.0f", foundationWindow.windowLevel); |
| 642 | + // NSLog(@"π Bootstrap: Foundation window rootViewController: %@", |
| 643 | + // foundationWindow.rootViewController); |
656 | 644 |
|
657 | 645 | // Give iOS a moment to process the new window hierarchy (we're already on main queue)
|
658 | 646 | CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0.01, false);
|
659 | 647 |
|
660 | 648 | // Check again after run loop processing
|
661 |
| - NSLog(@"π Bootstrap: App windows after bootstrap: %lu", |
662 |
| - (unsigned long)sharedApp.windows.count); |
663 |
| - NSLog(@"π Bootstrap: Foundation window still exists: %@", foundationWindow ? @"YES" : @"NO"); |
664 |
| - NSLog(@"π Bootstrap: Foundation window ref still exists: %@", |
665 |
| - foundationWindowRef ? @"YES" : @"NO"); |
| 649 | + // NSLog(@"π Bootstrap: App windows after bootstrap: %lu", |
| 650 | + // (unsigned long)sharedApp.windows.count); |
| 651 | + // NSLog(@"π Bootstrap: Foundation window still exists: %@", foundationWindow ? @"YES" : |
| 652 | + // @"NO"); NSLog(@"π Bootstrap: Foundation window ref still exists: %@", |
| 653 | + // foundationWindowRef ? @"YES" : @"NO"); |
666 | 654 |
|
667 | 655 | // Detailed window hierarchy inspection
|
668 | 656 | if (sharedApp.windows.count > 0) {
|
669 |
| - NSLog(@"π Bootstrap: Window hierarchy details:"); |
670 |
| - for (NSUInteger i = 0; i < sharedApp.windows.count; i++) { |
671 |
| - UIWindow* window = sharedApp.windows[i]; |
672 |
| - NSLog(@"π Bootstrap: Window %lu: %@ (level: %.0f, key: %@, hidden: %@)", i, window, |
673 |
| - window.windowLevel, window.isKeyWindow ? @"YES" : @"NO", |
674 |
| - window.hidden ? @"YES" : @"NO"); |
675 |
| - } |
| 657 | + // NSLog(@"π Bootstrap: Window hierarchy details:"); |
| 658 | + // for (NSUInteger i = 0; i < sharedApp.windows.count; i++) { |
| 659 | + // UIWindow* window = sharedApp.windows[i]; |
| 660 | + // NSLog(@"π Bootstrap: Window %lu: %@ (level: %.0f, key: %@, hidden: %@)", i, window, |
| 661 | + // window.windowLevel, window.isKeyWindow ? @"YES" : @"NO", |
| 662 | + // window.hidden ? @"YES" : @"NO"); |
| 663 | + // } |
676 | 664 | } else {
|
677 |
| - NSLog(@"π Bootstrap: π¨ CRITICAL: Foundation window not in app.windows hierarchy!"); |
678 |
| - NSLog(@"π Bootstrap: This indicates a fundamental iOS window system issue"); |
| 665 | + // NSLog(@"π Bootstrap: π¨ CRITICAL: Foundation window not in app.windows hierarchy!"); |
| 666 | + // NSLog(@"π Bootstrap: This indicates a fundamental iOS window system issue"); |
679 | 667 |
|
680 | 668 | // Try alternative window registration approach
|
681 |
| - NSLog(@"π Bootstrap: Attempting alternative window registration..."); |
| 669 | + // NSLog(@"π Bootstrap: Attempting alternative window registration..."); |
682 | 670 | [foundationWindow.layer setNeedsDisplay];
|
683 | 671 | [foundationWindow.layer displayIfNeeded];
|
684 | 672 | [foundationWindow layoutIfNeeded];
|
685 | 673 |
|
686 | 674 | // Force another run loop cycle
|
687 | 675 | CFRunLoopRunInMode(kCFRunLoopDefaultMode, 0.05, false);
|
688 |
| - NSLog(@"π Bootstrap: After alternative registration - App windows: %lu", |
689 |
| - (unsigned long)sharedApp.windows.count); |
| 676 | + // NSLog(@"π Bootstrap: After alternative registration - App windows: %lu", |
| 677 | + // (unsigned long)sharedApp.windows.count); |
690 | 678 | }
|
691 | 679 | } else {
|
692 |
| - NSLog(@"π Bootstrap: WARNING - Failed to create foundation window"); |
| 680 | + // NSLog(@"π Bootstrap: WARNING - Failed to create foundation window"); |
693 | 681 | }
|
694 | 682 | } else {
|
695 |
| - NSLog(@"π Bootstrap: App windows already exist (%lu) - no bootstrap needed", |
696 |
| - (unsigned long)sharedApp.windows.count); |
| 683 | + // NSLog(@"π Bootstrap: App windows already exist (%lu) - no bootstrap needed", |
| 684 | + // (unsigned long)sharedApp.windows.count); |
697 | 685 | }
|
698 | 686 |
|
699 | 687 | // Create a dedicated error window that works even during early app lifecycle
|
|
714 | 702 | for (UIScene* scene in [UIApplication sharedApplication].connectedScenes) {
|
715 | 703 | if ([scene isKindOfClass:[UIWindowScene class]]) {
|
716 | 704 | windowScene = (UIWindowScene*)scene;
|
717 |
| - NSLog(@"π¨ Found existing window scene for error modal"); |
| 705 | + // NSLog(@"π¨ Found existing window scene for error modal"); |
718 | 706 | break;
|
719 | 707 | }
|
720 | 708 | }
|
721 | 709 |
|
722 | 710 | if (windowScene) {
|
723 | 711 | errorWindow = [[UIWindow alloc] initWithWindowScene:windowScene];
|
724 |
| - NSLog(@"π¨ Created error window with existing scene"); |
| 712 | + // NSLog(@"π¨ Created error window with existing scene"); |
725 | 713 | } else {
|
726 | 714 | // Fallback: create window with screen bounds (older behavior)
|
727 | 715 | errorWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
|
728 |
| - NSLog(@"π¨ Created error window with screen bounds (no scene available)"); |
| 716 | + // NSLog(@"π¨ Created error window with screen bounds (no scene available)"); |
729 | 717 | }
|
730 | 718 | } else {
|
731 | 719 | // iOS 12 and below
|
732 | 720 | errorWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
|
733 |
| - NSLog(@"π¨ Created error window for iOS 12"); |
| 721 | + // NSLog(@"π¨ Created error window for iOS 12"); |
734 | 722 | }
|
735 | 723 |
|
736 | 724 | errorWindow.windowLevel = UIWindowLevelAlert + 1000; // Above everything
|
|
774 | 762 | if (logoImage) {
|
775 | 763 | dispatch_async(dispatch_get_main_queue(), ^{
|
776 | 764 | logoImageView.image = logoImage;
|
777 |
| - NSLog(@"π¨ NativeScript logo loaded successfully"); |
| 765 | + // NSLog(@"π¨ NativeScript logo loaded successfully"); |
778 | 766 | });
|
779 | 767 | } else {
|
780 |
| - NSLog(@"π¨ Failed to create image from logo data"); |
| 768 | + // NSLog(@"π¨ Failed to create image from logo data"); |
781 | 769 | }
|
782 | 770 | } else {
|
783 |
| - NSLog(@"π¨ Failed to load NativeScript logo: %@", error.localizedDescription); |
| 771 | + // NSLog(@"π¨ Failed to load NativeScript logo: %@", error.localizedDescription); |
784 | 772 | // Fallback: show text logo
|
785 | 773 | dispatch_async(dispatch_get_main_queue(), ^{
|
786 | 774 | UILabel* fallbackLogo = [[UILabel alloc] init];
|
|
834 | 822 | stackTraceContainer.translatesAutoresizingMaskIntoConstraints = NO;
|
835 | 823 | [contentView addSubview:stackTraceContainer];
|
836 | 824 |
|
837 |
| - NSLog(@"errorToDisplay from in NativeScriptException ShowErrorModal: %s", stackTrace.c_str()); |
| 825 | + // NSLog(@"errorToDisplay from in NativeScriptException ShowErrorModal: %s", stackTrace.c_str()); |
838 | 826 | // Stack trace text view - with proper terminal styling
|
839 | 827 | UITextView* stackTraceTextView = [[UITextView alloc] init];
|
840 | 828 | stackTraceTextView.text = [NSString stringWithUTF8String:stackTrace.c_str()];
|
|
1084 | 1072 | errorWindow.rootViewController = errorViewController;
|
1085 | 1073 |
|
1086 | 1074 | // Force the window to be visible with multiple approaches
|
1087 |
| - NSLog(@"π¨ Attempting to display error modal..."); |
| 1075 | + // NSLog(@"π¨ Attempting to display error modal..."); |
1088 | 1076 |
|
1089 | 1077 | @try {
|
1090 | 1078 | // Primary approach: makeKeyAndVisible
|
1091 | 1079 | [errorWindow makeKeyAndVisible];
|
1092 |
| - NSLog(@"π¨ makeKeyAndVisible called successfully"); |
| 1080 | + // NSLog(@"π¨ makeKeyAndVisible called successfully"); |
1093 | 1081 |
|
1094 | 1082 | // Secondary approach: force visibility
|
1095 | 1083 | errorWindow.hidden = NO;
|
|
1102 | 1090 | // Bring window to front (alternative to makeKeyAndVisible)
|
1103 | 1091 | [errorWindow bringSubviewToFront:errorViewController.view];
|
1104 | 1092 |
|
1105 |
| - NSLog(@"π¨ Error window properties: hidden=%@, alpha=%.2f, windowLevel=%.0f", |
1106 |
| - errorWindow.hidden ? @"YES" : @"NO", errorWindow.alpha, errorWindow.windowLevel); |
| 1093 | + // NSLog(@"π¨ Error window properties: hidden=%@, alpha=%.2f, windowLevel=%.0f", |
| 1094 | + // errorWindow.hidden ? @"YES" : @"NO", errorWindow.alpha, errorWindow.windowLevel); |
1107 | 1095 |
|
1108 |
| - NSLog(@"π¨ Error window frame: %@", NSStringFromCGRect(errorWindow.frame)); |
1109 |
| - NSLog(@"π¨ Error window rootViewController: %@", errorWindow.rootViewController); |
| 1096 | + // NSLog(@"π¨ Error window frame: %@", NSStringFromCGRect(errorWindow.frame)); |
| 1097 | + // NSLog(@"π¨ Error window rootViewController: %@", errorWindow.rootViewController); |
1110 | 1098 |
|
1111 | 1099 | // Verify the window is in the window hierarchy
|
1112 | 1100 | NSArray* windows = [UIApplication sharedApplication].windows;
|
1113 | 1101 | BOOL windowInHierarchy = [windows containsObject:errorWindow];
|
1114 |
| - NSLog(@"π¨ Error window in app windows: %@", windowInHierarchy ? @"YES" : @"NO"); |
| 1102 | + // NSLog(@"π¨ Error window in app windows: %@", windowInHierarchy ? @"YES" : @"NO"); |
1115 | 1103 |
|
1116 | 1104 | if (!windowInHierarchy) {
|
1117 |
| - NSLog(@"π¨ WARNING: Error window not found in app windows hierarchy!"); |
1118 |
| - NSLog(@"π¨ FIXING: Forcing window into hierarchy using aggressive methods..."); |
| 1105 | + // NSLog(@"π¨ WARNING: Error window not found in app windows hierarchy!"); |
| 1106 | + // NSLog(@"π¨ FIXING: Forcing window into hierarchy using aggressive methods..."); |
1119 | 1107 |
|
1120 | 1108 | // Aggressive fix 1: Try to force the window to be key and make it the only visible window
|
1121 | 1109 | NSLog(@"π¨ Total app windows before fix: %lu", (unsigned long)windows.count);
|
|
1125 | 1113 | if (window != errorWindow) {
|
1126 | 1114 | window.hidden = YES;
|
1127 | 1115 | window.alpha = 0.0;
|
1128 |
| - NSLog(@"π¨ Hiding existing window: %@", window); |
| 1116 | + // NSLog(@"π¨ Hiding existing window: %@", window); |
1129 | 1117 | }
|
1130 | 1118 | }
|
1131 | 1119 |
|
|
1148 | 1136 | for (UIScene* scene in [UIApplication sharedApplication].connectedScenes) {
|
1149 | 1137 | if ([scene isKindOfClass:[UIWindowScene class]]) {
|
1150 | 1138 | UIWindowScene* windowScene = (UIWindowScene*)scene;
|
1151 |
| - NSLog(@"π¨ Found scene: %@ with %lu windows", scene, |
1152 |
| - (unsigned long)windowScene.windows.count); |
| 1139 | + // NSLog(@"π¨ Found scene: %@ with %lu windows", scene, |
| 1140 | + // (unsigned long)windowScene.windows.count); |
1153 | 1141 |
|
1154 | 1142 | // Check if our window is in this scene
|
1155 | 1143 | if (![windowScene.windows containsObject:errorWindow]) {
|
1156 |
| - NSLog(@"π¨ Error window not in scene - this is the core issue!"); |
| 1144 | + // NSLog(@"π¨ Error window not in scene - this is the core issue!"); |
1157 | 1145 | }
|
1158 | 1146 | break;
|
1159 | 1147 | }
|
|
1162 | 1150 |
|
1163 | 1151 | // SIMPLIFIED NUCLEAR OPTION: Create a basic error window that works even during boot
|
1164 | 1152 | if (windows.count == 0) {
|
1165 |
| - NSLog(@"π¨ SIMPLIFIED NUCLEAR: Creating basic error window for boot-level crash"); |
| 1153 | + // NSLog(@"π¨ SIMPLIFIED NUCLEAR: Creating basic error window for boot-level crash"); |
1166 | 1154 |
|
1167 | 1155 | // Create the simplest possible window that can display
|
1168 | 1156 | UIWindow* simpleWindow = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
|
|
1191 | 1179 | // Force display with minimal complexity
|
1192 | 1180 | [simpleWindow makeKeyAndVisible];
|
1193 | 1181 |
|
1194 |
| - NSLog(@"π¨ Simple nuclear window created - should be visible immediately"); |
| 1182 | + // NSLog(@"π¨ Simple nuclear window created - should be visible immediately"); |
1195 | 1183 | } else {
|
1196 | 1184 | UIWindow* existingWindow = windows.firstObject;
|
1197 | 1185 |
|
|
1240 | 1228 | [existingWindow addSubview:errorOverlay];
|
1241 | 1229 | [existingWindow bringSubviewToFront:errorOverlay];
|
1242 | 1230 |
|
1243 |
| - NSLog(@"π¨ Error overlay added to existing window successfully!"); |
| 1231 | + // NSLog(@"π¨ Error overlay added to existing window successfully!"); |
1244 | 1232 | }
|
1245 | 1233 | }
|
1246 | 1234 |
|
1247 |
| - NSLog(@"π¨ Beautiful NativeScript-branded error modal displayed successfully!"); |
| 1235 | + // NSLog(@"π¨ Beautiful NativeScript-branded error modal displayed successfully!"); |
1248 | 1236 |
|
1249 | 1237 | } @catch (NSException* exception) {
|
1250 |
| - NSLog(@"π¨ ERROR: Failed to display error modal: %@", exception); |
1251 |
| - NSLog(@"π¨ Attempting fallback display method..."); |
| 1238 | + // NSLog(@"π¨ ERROR: Failed to display error modal: %@", exception); |
| 1239 | + // NSLog(@"π¨ Attempting fallback display method..."); |
1252 | 1240 |
|
1253 | 1241 | // Fallback: Try to show an alert instead
|
1254 | 1242 | UIAlertController* alert =
|
|
1272 | 1260 | // Add a delay to ensure the UI is fully rendered and give the modal time to stabilize
|
1273 | 1261 | dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)),
|
1274 | 1262 | dispatch_get_main_queue(), ^{
|
1275 |
| - NSLog(@"π¨ Error modal UI fully rendered and stable - app should stay alive now"); |
| 1263 | + // NSLog(@"π¨ Error modal UI fully rendered and stable - app should stay alive |
| 1264 | + // now"); |
1276 | 1265 |
|
1277 | 1266 | // Force the main run loop to process any pending events to keep the app
|
1278 | 1267 | // responsive
|
|
0 commit comments