[英]iOS Facebook SDK 4 FBSDKShareDialog
当我尝试实现FBSDKShareDialog
通过我的应用程序执行Facebook共享时,遇到了一些麻烦。 如果安装了官方fb应用程序,则会显示空白对话框(用户可以在其中键入一些文字等)。 如果用户没有fb应用,它将显示正确的信息,但FBSDKSharingDelegate
方法不起作用。 (即使用户具有FB应用程序也无法使用)
- (void)sharer:(id<FBSDKSharing>)sharer didCompleteWithResults:(NSDictionary *)results
{
NSLog(@"complete");
}
- (void)sharerDidCancel:(id<FBSDKSharing>)sharer
{
NSLog(@"did cancel");
}
- (void)sharer:(id<FBSDKSharing>)sharer didFailWithError:(NSError *)error
{
NSLog(@"%@", error);
}
即使我通过FB应用程序取消或共享它也从未被调用。 我的代码是:
FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
content.contentTitle = _place.title;
content.imageURL = [NSURL URLWithString:_place.logoUrl];
content.contentDescription = _place.info;
[FBSDKShareDialog showFromViewController:_viewController withContent:content delegate:self];
我在@interface
声明中有一个委托。
@interface FacebookHandler () < FBSDKSharingDelegate >
@end
我的应用程序代表有
#import <FBSDKCoreKit/FBSDKCoreKit.h>
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
return [[FBSDKApplicationDelegate sharedInstance] application:application
didFinishLaunchingWithOptions:launchOptions];
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
[FBSDKAppEvents activateApp];
}
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
return [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation];
}
我哪里错了? 通过FBSDKShareLinkContent
发布一些图像和标题是个好主意。 提前致谢。
您是从主线程调用[FBSDKShareAPI shareWithContent:content delegate:self]
吗?
我已经解决了这个问题。 问题是我已经委托了从NSObject继承的文件,该对象不能是委托
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.