En didFinishLaunchingWithOptions
ici, je vérifie simplement mon userName
et password
pour naviguer utilisateur de LogInVC
à HomeVC
.Comment faire checkng d'authentification « à l'aide de régim URL de didFinishLaunchingWithOptions paramètres
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if([defaults objectForKey:@"username"]!=nil && ![[defaults objectForKey:@"password"] isEqualToString:@""]) {
[self navigateToMaskViewController];
} else {
[self navigateToRSSignInViewController];
}
return YES;
}
En openURL: sourceApplication:
ici, je reçois mes identifiants de connexion (userName & mot de passe), que je veux utiliser à didFinishLaunchingWithOptions
pour le contrôle de authetication.
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
BOOL handled = [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation
];
NSLog(@"Calling Application Bundle ID: %@", sourceApplication);
NSLog(@"URL scheme:%@", [url scheme]);
NSLog(@"URL query: %@", [url query]);
if ([url query]) {
NSMutableDictionary *queryDict = [[NSMutableDictionary alloc] init];
queryDict = [self getValue:[url query]];
NSString *userName = queryDict[@"userName"];
NSString *password = queryDict[@"password"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:userName forKey:@"username"];
[defaults setObject:password forKey:@"password"];
[defaults synchronize];
return YES;
} else {
}
return handled;
}
- (NSMutableDictionary *)getValue:(NSString *)query
{
NSMutableDictionary *queryStringDictionary = [[NSMutableDictionary alloc] init];
NSArray *urlComponents = [query componentsSeparatedByString:@"&"];
for (NSString *keyValuePair in urlComponents)
{
NSArray *pairComponents = [keyValuePair componentsSeparatedByString:@"="];
NSString *key = [[pairComponents firstObject] stringByRemovingPercentEncoding];
NSString *value = [[pairComponents lastObject] stringByRemovingPercentEncoding];
[queryStringDictionary setObject:value forKey:key];
}
return queryStringDictionary;
}
Mais pour le schéma d'URL didFinishLaunchingWithOptions
n'a pas appelé après openURL: sourceApplication:
. Alors, comment puis-je faire mon contrôle d'authentification didFinishLaunchingWithOptions
? Si quelqu'un le comprend, partagez la solution avec moi. Un grand merci d'avance.