मैंने राज्य की बचत के लिए आईओएस 6 एपीआई लागू किया है, यह काम करता है - जब मैं ऐप छोड़ देता हूं और कुछ मिलीसेकंड के लिए वापस लॉन्च करता हूं तो पुनर्स्थापित दृश्य नियंत्रक उड़ता है, लेकिन फिर इसे मुख्य दृश्य से बदल दिया जाता है मैं लॉन्च पर प्रदर्शित नियंत्रक।आईओएस 6 - राज्य संरक्षण और बहाली
मैं हर बार ऐप को मुख्य विंडो के मूल दृश्य को लॉन्च करता हूं, इसलिए यह समस्या होनी चाहिए। (NSDictionary *) launchOptions मैं अपनी खिड़की के रूट दृश्य सेट कर रहा हूं: - (शून्य) commonInitializationLaunching
- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self commonInitializationLaunching:launchOptions];
return YES;
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self commonInitializationLaunching:launchOptions];
return YES;
}
- (void)commonInitializationLaunching:(NSDictionary *)launchOptions
{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
static NSString *const kKeychainItemName = @"OAuthGoogleReader";
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
self.navController = [[UINavigationController alloc] initWithRootViewController:self.viewController];
GTMOAuth2Authentication *auth;
auth = [GTMOAuth2ViewControllerTouch authForGoogleFromKeychainForName:kKeychainItemName
clientID:kClientID
clientSecret:kClientSecret];
self.window.rootViewController = self.navController;
[self.window makeKeyAndVisible];
BOOL isSignedIn = [auth canAuthorize];
if (isSignedIn) {
NSLog(@"Signed");
}else{
NSString *scope = @"https://www.google.com/reader/api/";
GTMOAuth2ViewControllerTouch *viewController;
viewController = [[GTMOAuth2ViewControllerTouch alloc] initWithScope:scope
clientID:kClientID
clientSecret:kClientSecret
keychainItemName:kKeychainItemName
delegate:self
finishedSelector:@selector(viewController:finishedWithAuth:error:)];
[self.navController pushViewController:viewController animated:YES];
// self.window.rootViewController = viewController;
}
});
}
आपको लगता है कि में देख सकते हैं:
यहाँ मेरी कोड है। मुझे नहीं पता कि वहां क्या रखा जाए। शायद जांचें कि क्या बचाया गया राज्य है और फिर इस विधि को लोड करें? पर कैसे?
धन्यवाद!
यहाँ है कि मैं क्या रोब की सलाह निम्नलिखित की कोशिश की है है:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
if (!self.isRestored) {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
}
[self commonInitializationLaunching:launchOptions];
[self.window makeKeyAndVisible];
return YES;
}
कुछ भी नहीं के साथ
willFinishLaunching
में
... मैं अपने commonInitializationLaunching
विधि से खिड़की कोड से हटा दिया।
क्या मेरे उत्तर ने किसी की मदद की है? कुछ प्रतिक्रिया बहुत अच्छी होगी। – rbrown