问题标签 [facebook-ios-sdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2496 浏览

ios - NSUserDefaults standardUserDefaults 未清除的问题

所以我使用NSUserDefaults来存储我的FBAccessTokenKeyand FBExpirationDateKey。我正在创建一个单例用户对象:

我还实现了一个在我注销时调用的 didLogout 方法:

这基本上清除/刷新了令牌密钥。现在真正的问题是,当我单击注销,退出应用程序,然后再次运行应用程序时,它会检测到密钥FBAccessTokenKey并且FBExpirationDateKey仍然存在。为什么是这样?

0 投票
2 回答
749 浏览

ios - iOS SDK 在测试设备上进行身份验证时报告“用户被拒绝”

使用 Facebook iOS SDK 构建应用程序。在模拟器上进行测试时,我能够登录 Facebook(使用 Mobile Safari)并获得有效的身份验证令牌。但是,当我移动到我的测试设备(运行 4.3 的 iPhone 3gs)时,在 Facebook 应用程序中进行身份验证后,它返回:

我需要在设备上或 Facebook 应用程序本身上做些什么特别的事情吗?

0 投票
0 回答
411 浏览

ios - 哪些版本的 Facebook iOS SDK 将于 2011 年 10 月 1 日停止运行?

OAuth 2.0 和 HTTPS 迁移页面上,它说“旧 iOS SDK (facebook-iphone-sdk)”将于 10 月 1 日停止工作。但是旧版本的新 iOS SDK (facebook-ios-sdk) 呢?所有旧版本的 facebook-ios-sdk 是否会继续工作,或者超过某个时间点的版本会停止工作?我需要知道使用某个版本的 facebook-ios-sdk 的应用程序是否需要发布新版本来解决这个问题。

0 投票
2 回答
685 浏览

xcode - 为什么我不能将 Facebook SDK 拖到新项目中?

Github 页面上,它指出:

在 Xcode 中,通过选择 File->Open... 并选择 src/facebook-ios-sdk.xcodeproj 打开 Facebook SDK。在 Xcode 中打开您自己的应用程序项目后,将 Facebook SDK 项目中的“FBConnect”文件夹拖放到您的应用程序项目中。

我知道今年早些时候这对我有用,使用 Xcode 3.x 和 iOS 4.x,但现在我在 Xcode 4.2 和 iOS 5 中做一个新项目,它不再工作了。我无法将该文件夹拖到我的项目中。有任何想法吗?我应该怎么做?

0 投票
1 回答
411 浏览

objective-c - 线程和 facebook 单点登录问题

我正在使用 Facebook iOS SDK 进行单点登录。现在,当应用程序首次启动时,我有一个模态视图控制器,显示带有 2 个按钮的登录页面,使用 twitter 和 Facebook 登录。当我按下登录时,会出现 Facebook 对话框......它说我已经验证了该应用程序。所以我点击确定。然后它回到登录视图控制器,当关闭它时,我得到了这个:

如果我先从 Facebook 注销,则不会发生这种情况,所以我必须输入我的用户名和密码然后登录。这怎么可能?

0 投票
1 回答
280 浏览

ios - Facebook认证完成打开另一个应用程序

使用 Facebook 身份验证,过程是 Facebook 库将打开 Safari/已安装的 Facebook 应用程序以执行身份验证,然后返回到应用程序。

我已经构建了多个应用程序(比如说:First App、SecondApp 和 ThirdApp)并将它们编译到我的设备上。当我尝试对 Facebook 帐户进行身份验证时,发生的情况是,当我在 FirstApp 上完成对 Facebook 的身份验证时,并没有重新打开同一个应用程序,而是打开了 SecondApp(有时是 ThirdApp)。

我的预感是它与 App ID 有关,但我不确定。

你怎么看?

提前致谢。

0 投票
0 回答
1188 浏览

ios - 在 iOS SDK 中使用 Feed Dialog 发布图片时可以避免 Captcha 对话框吗?

我正在使用 Facebook iOS SDK 中的对话框来允许我们应用程序的用户在他们的新闻提要上分享一个链接(今天下载了 SDK 以确保我拥有最新版本)。这在上周开始工作,并在 API 服务中断后于上周五开始表现不同,现在在用户发布之前出现了一个捕获对话框。但是验证码图像没有加载,并且在验证码对话框的右上角显示未知错误,这很丑陋并且看起来不正确。

Facebook API 最近是否更改为现在在发布图片或链接时需要验证码?如果我从参数中删除图片或链接,则帖子对话框加载正常。我已经为我的图片或链接值尝试了各种不同的 url,除了完全删除我不想做的那个参数之外,似乎没有任何效果。我可以在没有验证码步骤的情况下发布图片或链接吗?

这是我的代码。

我在授权时也尝试了各种权限组合,但没有成功(publish_stream、read_stream、publish_actions、photo_upload)。

不确定我是否遗漏了一些明显的东西,因为我几天来一直在尝试解决这个问题,除了删除图片或链接之外没有找到解决方案,由于要求,这对我来说不是一个选项。

提前致谢。

0 投票
3 回答
1768 浏览

ios - 我可以在 iPhone 应用程序上使用 Facebook 身份验证服务器端流程并仍然进行客户端交互吗?

我有一个使用 Facebook 身份验证来登录用户的网站。它使用 oAuth 2.0 服务器端流程进行身份验证,一切正常。

我现在正在为同一网站开发 iPhone 应用程序,并希望允许用户使用 FB 身份验证通过 iPhone 应用程序登录网站。Facebook iOS SDK 提供了使用客户端流程进行身份验证的机制,在我的 iPhone 中应用程序获取访问令牌。

现在要使用我的服务器对用户进行身份验证,并使访问令牌对我的服务器可用,我想将此访问令牌发送到我的服务器(通过 https)并针对我的数据库对用户进行身份验证并设置我自己的会话相关 cookie。这是首选或建议的方法吗?我需要服务器上的访问令牌,因为我要求离线访问权限并让我的 web 应用程序直接与我的服务器上的 FB 用户帐户交互。

对我来说,一个更简单的选择是在我的 iPhone 应用程序上也使用服务器端流程进行身份验证,因为不需要做任何新的事情,并且网站或 iPhone 应用程序的服务器端代码是相同的。那可能吗?

我无法使用客户端身份验证并将访问令牌传递给我的服务器以对我的系统进行身份验证,也无法存储以供进一步使用。客户端身份验证收到的访问令牌与服务器端身份验证令牌完全不同,两者不能互换使用。我将不得不使用服务器端身份验证。

一个解决方案(在此处提供- 在问题的第一条评论中)是使用 UIWebView 并模拟服务器端流程。以下评论提到了这种方法的问题,我无法解决。

这已通过检查登录后 Web 视图重定向到的 URL 来解决。

另一个问题是,我的 iPhone 应用程序也进行了一些客户端交互(如 FBShare、写信给朋友的墙等)。如果我使用模拟的服务器端身份验证,我将不得不为这些交互进行另一个客户端身份验证,或者采取痛苦的方法,甚至通过我的服务器路由这些操作。后者绝对不可取。我该怎么做?我可以避免这种双重登录,因为这将是非常糟糕的用户体验?

0 投票
2 回答
1625 浏览

ios - Facebook 提要对话框中忽略的名称参数

我尝试从我的 iOS 应用程序中打开一个简单的对话框,以便在用户的墙上发布一些内容。但是,似乎完全忽略了“名称”参数。

下面是代码,我用的是 Github 的 Facebook SDK,昨天拉的版本。

显示的对话框仅显示:

“贴到你的墙上”
“写点什么……”

文本框

“通过我的应用程序”

当实际发布帖子时完全是空的。为什么“名称”参数被完全忽略?

0 投票
7 回答
77299 浏览

ios - 原生 iOS 应用程序:我在 Facebook 的开发者“iPhone App Store ID”下的设置,基本中输入了什么?

我即将完成一个原生 iPhone 应用程序,但我需要通过 Facebook 完成 SSO。尽管我尽了最大的努力,但在我在他们的网站上向 Facebook 注册我的应用程序的过程中,我无法弄清楚“iPhone App Store ID”字段应该包含什么值。

我在http://developer.apple.com/ios/manage/bundles/有一个“应用程序 ID” ,但是当我将我的应用程序 ID 放入该字段时,Facebook 给了我错误“iPhone App Store ID 必须是一个整数” . 我的 App ID 不是整数。

我知道 Facebook 专门用“App Store”标记了该字段;请告诉我事实并非如此,因为......如果“App Store”仍在开发中,怎么会有人在其中?

每个人都有“那个问题”来激发他们的第一个 Stack Overflow 帖子,这是我的。我急切地等待着我错过了什么的消息。