我正在开发一个理想情况下使用 OAuth 与 Twitter 通信的 iPhone 应用程序。我知道很多人都在使用 UIWebView 在他们的应用程序中执行 OAuth 工作流程,但我不同意这一点,我将采用Pownce 方法。
问题是,Twitter 拥有使用 PIN 码来处理桌面应用程序的整个方案。当我在 Twitter 上注册我的应用程序时,他们有一个 Web 表单,询问我是桌面客户端还是 Web 客户端。如果我选择桌面客户端,当我尝试让用户授权时,我可以设置 oauth_callback 参数,但 Twitter 会在授权后忽略它并显示一个密码。如果在 twitter 的表单上,我指定我是一个网络客户端,它要求我输入一个 URL 以在授权后重定向到。而且,由于我使用的是 iPhone 应用程序特定的 url 方案,因此他们的 web 表单在验证时失败,因为它似乎只接受符合 HTTP 协议的 URL。
所以,我好像被困住了——我不能说“桌面”,因为我不想打扰别针,我不能说“网络”,或者我不能使用 iPhone 应用程序 URL。有什么解决办法吗?