Я больше не могу показывать свой контроллер просмотра Modal Login при запуске моего приложения после обновления до XCode 4.2 и iOS5. У меня есть приложение TabBar с 4 вкладками, которое требует начального входа в систему для использования. Так как при обновлении он показывает только первое представление, которое должно отображаться после входа в систему - в основном он никогда не загружает контроллер модального представления, отвечающий за обработку входа в систему, и сразу переходит к другим функциям приложения. Точно такой же код, который работает в 4.3, не работает в iOS 5 - это меня озадачило! Я бы предпочел не использовать StoryBoard прямо сейчас, так как это должно работать. Я вставил viewDidLoad для первой вкладки на вкладке ниже - она попадает в оператор if, но фактически никогда не отображает представление входа в систему. Буду очень признателен, если кто-нибудь сможет мне помочь! Я что-то здесь упускаю? Спасибо -
ViewDidLoad:
- (void)viewDidLoad
{
// Call the super first
[super viewDidLoad];
// Only login once
PinPointMeAppDelegate *appDelegate = (PinPointMeAppDelegate *)[[UIApplication sharedApplication] delegate];
// It's not loading like it did pre-iOS5 - why?
NSLog(@"LOADING VIEW %d",appDelegate.loggedInFlag);
// Only show the login view if we aren't logged in
if (appDelegate.loggedInFlag == 0) {
// Initialize our view controller that handles logging in
ModalLogin *loginView = [[ModalLogin alloc] initWithNibName:@"ModalLogin" bundle:nil];
// Set the delegate to self
loginView.delegate = self;
// Animate presenting the nib "ModalPlace" modally
loginView.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:loginView animated:NO];
// Set the flag that the modal login view is shown
self.modalShown = 1;
}
}
AppDelegateDidFinishLaunching:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Begin determining the User's Lat / Lon
// Start the Location Manager to get current coordinates to determine where the mapview should zoom
self.locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];
// Set the logged - in flag to 0 since we just launched
loggedInFlag = 0;
// Initially no alert views are shown
alertViewShown = 0;
// Initialize the splash screen to Not Shown
splashScreenFlag = 0;
// Add the tab bar controller's view to the window and display.
[self.window addSubview:tabBarController.view];
[self.window makeKeyAndVisible];
// Set the delegate for the tabBarController
tabBarController.delegate = self;
// Un-Hide the status bar
[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque];
return YES;
}