アプリがメールから開かれている場合、 appDelegate で NSURLSessionDataTask を呼び出すので、この関数で
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
試したのにうまくいかないのですが、なぜですか??
この関数からクエリを取得する必要があります
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
NSURLComponents *components = [[NSURLComponents alloc] init];
components.query = [url query];
BOOL confirmRegistration = NO;
NSString *userToken;
for (NSURLQueryItem *queryItem in components.queryItems) {
if ([queryItem.name isEqualToString:@"userToken"])
{
userToken = queryItem.value;
}
else if ([queryItem.name isEqualToString:@"registrationType"])
{
if ([queryItem.value isEqualToString:@"confirmRegistration"])
{
confirmRegistration = YES;
}
}
}
//la app è stata aperta con la mail di conferma registrazione
if (confirmRegistration)
{
NSDictionary* userInfo = @{@"userToken": userToken};
[[NSNotificationCenter defaultCenter] postNotificationName:@"confirmRegistration" object:nil userInfo:userInfo];
}
return YES;
}
ありがとうございました