我们对iOS应用商店现场比赛,以及我目前加入了一些Facebook的整合。我试图测试与应用程序请求的深层链接,但接收方不会启动我的本地构建的应用程序;相反,它会转到应用商店的应用页面。我需要更改哪些内容(FB应用程序设置?Xcode构建设置?)以使其发挥作用?我只能假设它是可能的...Facebook的iOS应用程序的请求不发动当地建造应用
编辑:应该提到我正在使用最新的SDK(3.7.1),针对iOS 6.1构建。
编辑2:短期服用截图和发黑了一堆东西出来,我将描述我的FB应用程序配置的设置方式:
在Settings -> Basic
,我只有填写的Native iOS App
数据,它包括Bundle ID
(相匹配的ID的Xcode正在建立与应用程序),iPhone/iPad App Store ID
(实时应用程序相匹配的存储),并Facebook Login
Deep Linking
都启用,并且URL Scheme Suffix
是空的。该应用程序也在Sandbox Mode
。在Settings -> Permissions
,我有publish_actions
(在User & Friend Permissions
)和publish_stream
(在Extended Permissions
)。我认为其他一切都是香草。
在项目的plist中,Bundle identifier
是如在FB应用设置中描述的相同。唯一可能的差异是在plist中不匹配,我与......我不认为应该的问题,该工作实特殊的测试应用程序的FacebookAppID
但它是值得一提。
至于实际发送请求,代码如下:
[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 ACCT的请求;这只是重定向没有拿起的事实,我的应用程序已经安装在设备上(尽管本地使用Xcode构建)。上述
我可能并不孤单,无法确定被问到的是什么,你尝试实现的机制是通过声明对URL的方案的支持并捕获对该方案的访问,Facebook有一些JavaScript的后备如果设备出现故障时你为什么不告诉我们一些代码/配置? – Tommy
回应说,重定向到应用商店...随着应用商店应用实际下载,应用请求仍然打开应用程序商店而不是启动应用程序(和应用程序商店按钮说'OPEN')...是否是预期的行为? – coneybeare
增加了更多的信息...希望帮助! – ntourte