【问题标题】:Facebook iOS app requests not launching locally built appFacebook iOS 应用程序请求未启动本地构建的应用程序
【发布时间】:2013-08-30 18:33:21
【问题描述】:

我们在 iOS 应用商店有一个现场游戏,我目前正在添加一些 Facebook 集成。我正在尝试使用应用程序请求测试深度链接,但接收方不会启动我本地构建的应用程序;相反,它会转到应用商店上的应用页面。我需要更改什么(FB 应用程序设置?Xcode 构建设置?)才能使其正常工作?我只能假设这是可能的......

编辑:应该提到我正在使用最新的 SDK (3.7.1),针对 iOS 6.1 构建。

编辑 2:除了截取屏幕截图并将一堆东西涂黑,我将描述我的 FB 应用配置是如何设置的:

Settings -> Basic中,我只有Native iOS App填写的数据,其中包括Bundle ID (匹配 ID Xcode 正在构建应用程序),iPhone/iPad App Store ID(匹配商店中的实时应用程序),Facebook LoginDeep Linking 都已启用,URL Scheme Suffix 为空。该应用程序也在Sandbox Mode。在Settings -> Permissions,我有publish_actions(在User & Friend Permissions)和publish_stream(在Extended Permissions)。我认为其他一切都是香草。

在项目 plist 中,Bundle identifier 与 FB 应用程序设置中描述的相同。唯一可能的差异是 plist 中的 FacebookAppID 与我正在使用的这个特定的 Facebook 测试应用程序不匹配......我认为这无关紧要,但值得一提。

就实际发送请求而言,代码如下:

[FBWebDialogs presentRequestsDialogModallyWithSession:nil
                                              message:message
                                                title:nil
                                           parameters:nil
                                              handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
                                                  // handle response
                                              }];

我之前也这样做,以决定要连接到哪个 FB 应用:

    NSString *path = [[NSBundle mainBundle] pathForResource:@"Info" ofType:@"plist"];
    NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path];

#if GO_TO_TEST_APP
    NSString *fbAppId = [dict objectForKey:@"TestFacebookAppID"];
#else
    NSString *fbAppId = [dict objectForKey:@"FacebookAppID"];
#endif

    NSAssert(fbAppId, @"Failed to get Facebook app id from plist file!");

    [FBSettings setDefaultAppID:fbAppId];

再次,请求确实被正确发送(虽然我看到了与弹出对话框时看到的here 相同的问题),并且我可以在收件人的 Facebook 帐户上看到请求;只是重定向并没有注意到我已经在设备上安装了该应用程序(尽管是使用 Xcode 在本地构建的)。

【问题讨论】:

  • 我可能不是唯一一个不确定被问到什么的人。您尝试通过声明支持 fb URL 方案并捕获对该方案的访问来实现的机制是否有效,如果设备无法响应该调用,Facebook 有一些 Javascript 后备可重定向到应用商店?
  • 你为什么不给我们看一些代码/配置?
  • 添加了更多信息...希望对您有所帮助!
  • 刚刚做了一个观察...实际下载了应用商店应用,应用请求仍然打开应用商店而不是启动应用(并且应用商店按钮显示OPEN)...这是预期的行为吗?
  • 我实际上有答案,@Tommy 是对的,只是不知道这种机制(以为它会关闭捆绑包 ID ......猜不出来)。不过,我不能在 3 小时内发布我的答案,因为我是 n00b。

标签: ios facebook facebook-ios-sdk


【解决方案1】:

上面的汤米是对的;我需要在我的Info.plist 文件中调整URL types -> Item 0 -> URL Schemes 以包含我正在尝试连接的新测试应用程序的FB 方案(以fb<Facebook App ID> 的形式。我已经有一个用于实时FB 应用程序的方案;我只是没有意识到存在配置步骤。

【讨论】:

    猜你喜欢
    • 2014-04-20
    • 1970-01-01
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 2020-04-25
    • 2017-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多