我在我的应用程序中实现了sharekit,它工作正常,直到我在另一个视图中使用facebook实现登录 .
sharekit要求我在app delegate上添加以下内容:
- (BOOL)handleOpenURL:(NSURL*)url
{
NSString* scheme = [url scheme];
NSString* prefix = [NSString stringWithFormat:@"fb%@", SHKCONFIG(facebookAppId)];
if ([scheme hasPrefix:prefix])
return [SHKFacebook handleOpenURL:url];
return YES;
}
问题是facebook登录api要求你在appdelegate上添加以下代码:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [SHKFacebook handleOpenURL:url];
}
现在,当我尝试在Facebook上分享内容时,它会要求获得许可,然后没有任何反应,因为它进入了第二种方法 .
我试图跟踪这个实例变量“application”,“sourceApplication”,“url”和“annotation”,但它们都没有给我任何关于如何识别它是来自登录还是共享的线索 .
有什么线索吗?
2 回答
如果在使用sharekit时添加facebookLocalAppId,则会出现问题 . 我猜它主要是Facebook SDK的问题 .
确保localAppId为空字符串,并在info.plist的url方案中添加fb [AppId] .
它应该工作 . 为我工作!
https://developers.facebook.com/bugs/314394491907164?browse=search_4efdea61cc7cd8f83499042
希望这可以帮助!
我遇到了同样的问题,这是如何解决它:
找到您的
SHKFacebook.m
文件找到以下功能:
这段代码必须像这样得到facebook实例(这就是我做的方式):
这应该可以解决您的所有问题,甚至可以提高Sharekit的性能,因为用户无需再次登录 . 祝好运!