Twitter 登录成功后从 Twitter 原生应用程序重定向到 iOS 应用程序
Redirect from twitter native app to iOS app after twitter login success
我必须使用 Twitter 帐户登录我的 iOS 应用程序。
案例 1: 如果 Twitter 应用程序存在于 iPhone 我需要登录到 Twitter 应用程序,登录成功后,我需要重定向回我的应用程序。
案例 2: 如果 iPhone 中没有 twitter 应用程序,那么我需要通过默认浏览器登录到 twitter 应用程序。
我正在使用 STTwitter 框架。 案例 2 对我来说工作正常。
以下代码用于在浏览器中打开 Twitter 应用程序
self.twitter = [STTwitterAPI twitterAPIWithOAuthConsumerKey:kCONSUMER_KEY
consumerSecret:kCONSUMER_SECREAT];
[_twitter postTokenRequest:^(NSURL *url, NSString *oauthToken) {
NSLog(@"-- url: %@", url);
NSLog(@"-- oauthToken: %@", oauthToken);
[[UIApplication sharedApplication] openURL:url];
} authenticateInsteadOfAuthorize:NO
forceLogin:@(YES)
screenName:nil
oauthCallback:@"testapp://twitter_access_tokens/"
errorBlock:^(NSError *error) {
NSLog(@"-- error: %@", error);
}];
要打开推特应用,可以使用下面的代码
NSURL *twitterURL = [NSURL URLWithString:@"twitter://"];
if ([[UIApplication sharedApplication] canOpenURL:twitterURL]) {
[[UIApplication sharedApplication] openURL:twitterURL];
}
如果iPhone中有twitter app,以上几行代码可以打开twitter app,但是twitter登录成功后如何重定向回我的app。
请任何人帮助我。
一旦控制权从您的应用程序中移出,就无法以编程方式将用户带回来。他们需要手动返回。话虽如此,请浏览苹果提供的 Twitter api,因为 iPhone 可以在没有他们的应用程序的情况下登录 Twitter。你应该能够完成你想要的,而无需他们离开你的应用程序进入 Twitter 应用程序或网站。
Twitter.app 使用 iOS 设置中定义的 Twitter 帐户。
此外,即使未安装 Twitter.app,也可以在 iOS 设置中定义帐户。
所以,我认为情况 1 您不需要打开 Twitter.app。
您可以使用第一个可用帐户简单地实例化 STTwitterAPI
:
+ (instancetype)twitterAPIOSWithFirstAccount;
或者如果您愿意,请提供特定帐户:
+ (instancetype)twitterAPIOSWithAccount:(ACAccount *)account;
我必须使用 Twitter 帐户登录我的 iOS 应用程序。
案例 1: 如果 Twitter 应用程序存在于 iPhone 我需要登录到 Twitter 应用程序,登录成功后,我需要重定向回我的应用程序。
案例 2: 如果 iPhone 中没有 twitter 应用程序,那么我需要通过默认浏览器登录到 twitter 应用程序。
我正在使用 STTwitter 框架。 案例 2 对我来说工作正常。
以下代码用于在浏览器中打开 Twitter 应用程序
self.twitter = [STTwitterAPI twitterAPIWithOAuthConsumerKey:kCONSUMER_KEY
consumerSecret:kCONSUMER_SECREAT];
[_twitter postTokenRequest:^(NSURL *url, NSString *oauthToken) {
NSLog(@"-- url: %@", url);
NSLog(@"-- oauthToken: %@", oauthToken);
[[UIApplication sharedApplication] openURL:url];
} authenticateInsteadOfAuthorize:NO
forceLogin:@(YES)
screenName:nil
oauthCallback:@"testapp://twitter_access_tokens/"
errorBlock:^(NSError *error) {
NSLog(@"-- error: %@", error);
}];
要打开推特应用,可以使用下面的代码
NSURL *twitterURL = [NSURL URLWithString:@"twitter://"];
if ([[UIApplication sharedApplication] canOpenURL:twitterURL]) {
[[UIApplication sharedApplication] openURL:twitterURL];
}
如果iPhone中有twitter app,以上几行代码可以打开twitter app,但是twitter登录成功后如何重定向回我的app。
请任何人帮助我。
一旦控制权从您的应用程序中移出,就无法以编程方式将用户带回来。他们需要手动返回。话虽如此,请浏览苹果提供的 Twitter api,因为 iPhone 可以在没有他们的应用程序的情况下登录 Twitter。你应该能够完成你想要的,而无需他们离开你的应用程序进入 Twitter 应用程序或网站。
Twitter.app 使用 iOS 设置中定义的 Twitter 帐户。
此外,即使未安装 Twitter.app,也可以在 iOS 设置中定义帐户。
所以,我认为情况 1 您不需要打开 Twitter.app。
您可以使用第一个可用帐户简单地实例化 STTwitterAPI
:
+ (instancetype)twitterAPIOSWithFirstAccount;
或者如果您愿意,请提供特定帐户:
+ (instancetype)twitterAPIOSWithAccount:(ACAccount *)account;