[英]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.