当应用程序切换到Facebook以进行登录和权限请求时,阻止IOS关闭应用程序

我真的陷入了这个问题,我需要你的帮助! 我正在做一个团结的ipad游戏和来自prime31的社交网络插件。

情况:

当你到达关卡结束时,游戏会给你你的分数,并询问你是否要将它提交到Facebook。 如果你这样做,在我的脚本中我已经完成了一个系统,检查你是否登录,如果你不是它要求你登录,然后系统检查应用程序是否具有发布权限,如果没有,它会问你允许。 如果所有这些都是真的,它会直接向你的墙贴一条消息。 所以希望登录/询问部分只需要完成一次。

问题:

当ipad在游戏和facebook app之间进行交换登录时,ipad会关闭游戏以节省内存。 我试图减少场景,但是它很难减少它。 所以我想也许我应该在游戏中打开facebook登录和授权。 为此,我试着用这个:

setSessionLoginBehavior(FacebookSessionLoginBehavior.ForcingWebView); 

它完全符合我的要求,它在游戏中打开一个小窗口,并没有真正崩溃。 但是在这个解决方案中,问题是它只适用于登录,当我询问发布权限时,它会切换回facebook应用程序以询问权限,从而崩溃。 经过更多的研究,似乎无法控制请求权限行为。 所以回到原点,如何在用户连接到Facebook时阻止IOS关闭我的游戏。 我仍然希望减少场景。

我听说在离开Facebook应用程序后使用应用程序URL并为应用程序(我的游戏)发送数据,因此请求ipad在特定场景重新启动应用程序。 但这确实是最后一个解决方案,因为要做到这一点需要大量的返工。

如果您有其他建议可以解决这个问题我就是为了它。 我需要的只是登录 – >请求发布权限 – >发布并返回我游戏的关卡屏幕结束。

谢谢您的帮助

简而言之,一旦你的应用程序背景化,如果iOS想要关闭它,你就无法防止这种情况发生。

您可以做的最好的事情是保存应用程序的状态,然后将其移交给Facebook应用程序以进行身份​​validation,然后在应用程序再次启动时重新加载您的状态。 您将要处理applicationWillResignActive:applicationDidEnterBackground:applicationDidBecomeActive:applicationWillBecomeActive: .

“iOS应用程序编程指南”的“应用程序状态” 和“多任务”部分介绍了如何执行此操作。

我认为你应该检查iOS 5及更低版本的FBDialog。 适用于iOS 6的FBNativeDialogs 。

这些会弹出一个应用程序顶部的窗口,所以我猜它仍然会运行。 对于iOS 6的FBNativeDialogs

提供向用户显示本机(即,非基于Web)对话框的方法。 目前支持iOS 6共享对话框。