iOS:ShareKit >> Twitter的设置>>callbackURL – 这是什么?

我试图在我的应用程序中实现ShareKit ; 在SHKConfig.h文件中,在需要Twitter应用程序设置的部分,有一行我应该设置callbackURL在这里输入图像说明

我已经在Twitter上打开了一个Twitter应用程序,并填充了所有的字段,但我不清楚在callbackURL字段中应该插入哪些数据: 在这里输入图像说明

谁能解释一下?

您在Twitter中的应用程序设置中编写的callback参数将被忽略,您可以编写任何内容,例如: http : //www.google.com (任何事情都会被忽略)。

在#define中添加callbackurl时,其值将在所有者授权步骤中发送到Twitter,并将覆盖您之前在Twitter网站上编写的值。 奇怪,我知道。 这与这个安全漏洞有关 。

callback参数是Twitterauthentication后要发送给用户的URL。 在网站而不是应用程序中运行时,URLcallback用于恢复对OAuthstream的控制。

在应用程序上,您可以将其设置为像myapplication:// twitter这样的自定义scheme,然后在您的应用程序中注册schememyapplication。 这样,在authentication之后,在UIWebView或Safari中运行的Twitter网站将启动该URL,iOS知道该URL将分配给您的应用程序,这就是您如何恢复对OAuthstream程的控制。

这就是理论,我不知道ShareKit是如何工作的。 这可能是它在UIWebView上运行身份validation,并检测用户手动恢复控制的活动,这是另一种方法。

我正在使用新版本的ShareKit,在源代码中有关于twitter的callback的评论:

callbackurl“应该与您在SHKTwitterCallbackUrl中input的内容相匹配。 callbackurl不一定是实际存在的url。 用户将永远不会得到它,因为ShareKit在用户redirect之前拦截它。 它只是需要匹配。

我设置在twitter设置callbackurl http://somecallbackurl.com ,设置相同的来源,它的作品就像一个魅力! :]。 希望这个帮助。

你可以使用这个

func application(_ application:UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey: Any]) -> Bool { print("called") let directedByTWTR = Twitter.sharedInstance().application(application, open: url, options: options) return directedByTWTR }