我正在使用FlickrKit尝试登录我的iOS(iPhone 5模拟器)的Flickr帐户。
A)我为[[FlickrKit sharedFlickrKit] initializeWithAPIKey指定了以下内容:] - Flickr键 - Flickr秘密
B)然后我打电话给[[FlickrKit sharedFlickrKit] beginAuthWithCallbackURL:] - 回调URL为@“MyTestApp:// auth”。 - “MyTestApp”在URL类型下定义 - >项目0 - >网址方案 - >第0项。
C)不幸的是,在登录过程中,当我尝试使用FlickrKit for iOS登录时出现此错误。
“外部应用程序要求链接到您的Flickr帐户,但是 没有包括所有必要的信息。具体做法是:“
(然后我看到一个黑条,所以我不知道具体的错误是什么)。
见下面的截图:
有什么想法吗?
答案 0 :(得分:1)
你是否必须按下"好的,我是LL授权它"按钮两次,这个黑条第二次出现?
我相信正在发生的事情是你选择"授权"按钮,然后将回调发送到您的应用程序,但当您再次选择该按钮时,Flickr认为您正在尝试使用重复的身份验证令牌而不允许它。
作为快速检查,请在您的app delegate中实现此方法:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
然后在那里抛出一个NSLog来查看传递的url是什么。您可能会获得您正在寻找的数据。
我今天早些时候遇到了这个问题而且非常沮丧。
答案 1 :(得分:0)
因此,对于最新版本的swift,我必须执行以下操作:
func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {
if (url.host == "oauth-callback") {
OAuth1Swift.handleOpenURL(url)
}
return true
}
我的plist还需要以下内容:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>my.bundle.id</string>
<string>oauth-swift</string>
</array>
<key>CFBundleURLName</key>
<string></string>
</dict>
</array>
但那是因为我使用了以下库:https://github.com/dongri/OAuthSwift
答案 2 :(得分:0)
这是迟了一年。我能够通过确保所有info.plist
配置良好(使用正确的方案。以前的开发删除它。但是,它工作得很好。)以及我override
来使其工作。我的AppDelegate
课程中的一个函数。 func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool
并做了这个
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
print("DictionaryScheme: ", url.scheme!)
if url.scheme == "schemename" {
NotificationCenter.default.post(name: Notification.Name(rawValue: "UserAuthCallbackNotification"), object: url)
return true
}
return false
}