我什至不知道如何定义这个问题,但它就是这样。
我有一个使用 Facebook SDK 进行用户登录的应用程序。我按照 Facebook 授权教程进行操作。我不是 100% 确定它是如何工作的,但这部分在我的“AppDelegate.m”中似乎很重要。
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
return [FBSession.activeSession handleOpenURL:url];
}
到目前为止,一切都很好。现在我想为 Instagram 实现类似的登录,以便用户可以访问他们的照片。我运行这个例子没有问题(https://github.com/crino/instagram-ios-sdk)。当我尝试将其导入到我的项目中时,我陷入了困境。因为在instagram项目中AppDelegate中也有一个函数(IGAppDelegate)
-(BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
return [self.instagram handleOpenURL:url];
}
现在我无法使用这个功能(因为它是 Facebook 功能的重复)
有没有办法将 facebook 和 instagram 的这两个功能结合起来(也许对不同的 URL 使用“if”)。还是我迷路了
PS:我注意到当我调用我的 Facebook 登录应用程序时,网址类似于
FB4333597123414933://authorize/#access_token=BAAGKI2vHLxUBANbDegkrdoc4GJWUZC2clqLAzxz8IxEBZBdEyjrD2oTaGZA0g2AbSGWgvEhONKM6xJWzLCALGUBguqUpor6kXu9ZBewusNZCUe6BOXYvX&expires_in=5166254
在 Instagram 中它就像:
igfd725621c5e44198a5b8ad3f7a0ffa09//authorize#access_token=354172840.fd72562.bf6b3611632d4d00b6cef660ea9d9b6f
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
NSLog(@"url: %@", [url scheme]);
BOOL callBack;
// Facebook Call back checking.
if ([[url scheme] isEqualToString:@"facebook_url_schema"])
{
callBack = [FBAppCall handleOpenURL:url sourceApplication:sourceApplication];
}
// Instagram call back checking.
else if ([[url scheme] isEqualToString:@"instagram_url_schema"])
{
callBack = [self.instagram handleOpenURL:url];
}
return callBack;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)