当我这样做代码时,FbMediaView就像在主线程中加载广告video,但是在显示图像时不会冻结。 我不明白为什么? let nativeAd = self.adsManager.nextNativeAd() let cell : AdHomeCell? = self.collectionView!.dequeueReusableCellWithReuseIdentifier("AdHomeCell", forIndexPath: indexPath) as? AdHomeCell cell?.createForAd(nativeAd) nativeAd?.registerViewForInteraction(cell!, withViewController: self) return cell 我有最新的Facebook SDK(4.8.0)
我最近试图更新我们的应用程序上的Facebook SDK。 我没有担心Facebook的升级指导步骤。 我能够编译没有问题。 但是,当我退出XCode,重新打开我的项目,并尝试重新编译我得到一个关于' FBAppCall '(未声明的标识符)的错误。 除了这个以及“ FBDialogs ”之外,SDK中的所有其他类都在工作。 我能够通过删除Facebook框架并再次添加它来解决这些错误。 但是我每次退出XCode都必须这样做。 我试图检查或取消选中“ 将项目复制到目标组的文件夹(如果需要) ”,没有运气。 也尝试旧版本的Facebook SDK,但没有改变任何东西。 也试图在读取框架之前清除project.pbxproj中的所有Facebook SDK引用,这是徒劳的。 谢谢你帮我解决这个烦人的问题 注意:已经在“ 入门”页面中完成了Facebook SDK所需的所有configuration。
我正在使用ASIHTTPRequest在FacebookgraphicsAPI上工作。 这是最近我已经去张贴饲料图片。 所以,如果我有一个 ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; url是https://graph.facebook.com/me/feed 现在发布图片,我做了以下几点: [request setPostValue:@"My Message" forKey:@"message"]; [request setPostValue:@"somepic.png" forKey:@"picture"]; [request setPostValue:@"Some Name" forKey:@"name"]; [request setPostValue:@"Some description" forKey:@"description]; [request startAsynchronous]; 如果你尝试这一切,那么一切工作正常,而不是张贴的图片。 图片的空白占位符显示在Feed上。
我已经按照facebook-iso-sdk 4.8.0 iOS 9文档中描述的每一步,但仍然不能在我的应用程序中执行“login-with-facebook”应用程序切换,即使Facebook应用程序已经安装。 正如你在下面的屏幕截图中所看到的,我已经修改了info.plist,但是仍然无法让原生应用切换到工作状态。 我也加倍检查了info.plist值中的input错误。 我可以向你保证他们是正确的。 这是我的代码: if (![AppDelegate SharedInstance].login) { [AppDelegate SharedInstance].login = [[FBSDKLoginManager alloc] init]; } [AppDelegate SharedInstance].login.loginBehavior = FBSDKLoginBehaviorNative; [[AppDelegate SharedInstance].login logInWithReadPermissions:@[@"public_profile",@"email",@"user_friends"] fromViewController:self handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { if (error) { } else if (result.isCancelled) { // Handle cancellations } else { NSLog(@"result.grantedPermissions == %@",result.grantedPermissions); if (result.token) { [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" […]
我使用FBSDKLoginKit在iOS中使用FBSDKLoginKit 。 直到最近它一直在完美的工作,但是我现在不能覆盖在故事板中的button的高度? 由于某种原因,button的高度现在更小了。 我已经尝试设置button的高度约束,将button放在堆栈视图中,并设置按比例填充,甚至覆盖SDK中的button高度,没有运气。 如果我将button更改为一个正常的UIButton的布局约束完美的工作。 这是运行应用程序时button的样子。 这就是我想要的button看起来大小明智。
我遇到了新的FBSDK问题。 每当我尝试调用login方法logInWithReadPermissions,我收到此错误消息: 错误:“canOpenUrl:URL失败”fbauth2://“error:”(null)“ 我有我的configuration.plist文件在dev.facebook上的ios9 tuto( https://developers.facebook.com/docs/ios/ios9 )之后。 所以,我得到了NSAppTransportSecurity字典和LSApplicationQueriesSchemes数组(string“fbauth2”就可以了) 你会知道如何解决这个错误?
我正在使用以下代码在我的iPhone上截取屏幕截图并将其保存到相册中。 我想要的是一个共享button来自动发送这个截图和Facebook。 有没有人有任何想法如何实施? – (UIImage*)captureView:(UIView *)view { CGRect rect = [[UIScreen mainScreen] bounds]; UIGraphicsBeginImageContext(rect.size); CGContextRef context = UIGraphicsGetCurrentContext(); [view.layer renderInContext:context]; UIImage *img = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return img; } – (void)saveScreenshotToPhotosAlbum:(UIView *)view { UIImageWriteToSavedPhotosAlbum([self captureView:self.view], nil, nil, nil); } – (void)viewDidLoad { [super viewDidLoad]; [self setUpData]; CGRect frame = self.view.bounds; frame.size.height -= 90; self.tableView = [[UITableView […]
我正在使用fb sdk提供的Facebookloginbutton来实现我的应用程序中的Facebooklogin。当我注销Facebookbutton时,会再次更改为login。但是当我点击它时,Safari浏览器应用程序打开显示“您有alreay授权的应用程序“点击确认或取消。其实我需要在这里的facebooklogin名和密码屏幕。我不能切换用户,直到我重置模拟器。如何重置safari中的内容编程每次我登出,以便login屏幕是每次显示。 请注意,当我手动清除safari的网站数据时,它会再次显示login页面。可以通过编程来完成。 我用于login的代码如下 //creating the login button FBLoginView *loginView = [[FBLoginView alloc] initWithReadPermissions: @[@"public_profile", @"email", @"user_friends"]]; loginView.frame=CGRectMake(50, 500, 225, 55); loginView.delegate=self; [self.view addSubview:loginView]; //delegate method when logged in – (void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id<FBGraphUser>)user { NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults]; [defaults setObject:[user objectForKey:@"id"] forKey:@"LoggedInUserID"] ; [self checkandsaveNewUserInBackend:user]; [self performSegueWithIdentifier:@"Login" sender:self]; } //logout code – (IBAction)logoutButtonPressed:(id)sender { [FBSession.activeSession closeAndClearTokenInformation]; […]
对于后来的文字游戏,我试图通过使用Social框架获取有关玩家的基本信息: ID 名字 性别 位置 (即没有像email敏感,我不使用Facebook的iOS SDK)。 所以在Xcode 5.0.2中,我为iPhone创build了一个空白的单一视图应用程序,并将Social.framework添加到构build阶段选项卡。 然后我将下面的代码添加到ViewController.m中 : #import "ViewController.h" #import <Social/Social.h> #import <Accounts/Accounts.h> #define FB_APP_ID @"432298283565593" //#define FB_APP_ID @"262571703638" @interface ViewController () @property (strong, nonatomic) ACAccountStore *accountStore; @end @implementation ViewController – (void)viewDidLoad { [super viewDidLoad]; NSLog(@"Facebook is available: %d", [SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]); [self getMyDetails]; } – (void) getMyDetails { if (!_accountStore) { […]
我有一个使用Facebook身份validationlogin用户的网站。 它使用oAuth 2.0服务器端stream程进行身份validation,并且一切正常。 我正在为同一个网站开发iPhone应用程序,并希望允许用户通过使用FBauthentication的iPhone应用程序login到网站。Facebook iOS SDK提供了使用客户端stream程进行authentication的机制,在我的iPhone中应用程序获取访问令牌。 现在用我的服务器validation用户身份,并使访问令牌可用于我的服务器,我想把这个访问令牌发送到我的服务器(通过https)和validation用户对我的数据库,并设置我自己的会话相关的cookie。 这是首选还是build议的方法? 我需要我的服务器上的访问令牌,因为我要求离线访问权限,并让我的Web应用程序直接与我的服务器上的FB用户帐户交互。 对我来说更简单的select就是在我的iPhone应用程序上仅使用服务器端stream进行身份validation,因为没有新的需要完成,服务器端代码对于网站或iPhone应用程序是相同的。 那可能吗? 我不能使用客户端身份validation,并将访问令牌传递到我的服务器进行身份validation,并存储以供进一步使用。 接收到的用于客户端authentication的访问令牌与服务器端authentication令牌完全不同,二者不能互换使用。 我将不得不使用服务器端身份validation。 一个解决scheme( 在这里提供 – 在第一个问题的评论)是使用一个UIWebView和模拟服务器端的stream程。 下面的评论提到了这个方法的问题,我一直没能解决。 这已经通过检查login后webview被redirect到的URL来解决。 另一个问题是,我的iPhone应用程序也做一些客户端交互(如FBShare,写给朋友的墙壁等)。 如果我使用模拟的服务器端身份validation,我将不得不为这些交互做另一个客户端身份validation,或采取痛苦的方法,甚至通过我的服务器路由这些行动。 后者绝对不是可取的。 我如何去做这件事? 我可以避免这种双重login,因为这将是非常糟糕的用户体验?