【问题标题】:Prevent IOS to relaunch an app when I switch app to Facebook in safari当我在 Safari 中将应用程序切换到 Facebook 时,防止 IOS 重新启动应用程序
【发布时间】:2015-02-06 08:58:57
【问题描述】:

我真的被这个问题困住了,我需要你的帮助!我正在做一个 iPhone 应用程序。当 iPhone 在 safari 中的应用程序和 Facebook 重定向之间交换时,iPhone 会关闭应用程序以节省内存。 我正在做的是我在我的应用程序的后台提供 fb 共享。 当我在后台成功分享其股票并成功返回我的应用程序时。那时我的应用程序没有崩溃。但是当我去 safari 并输入 Facebook 并打开 fb 网站以检查我的共享帖子时,在后台我的应用程序崩溃了。 这个问题出现在带有 iOS 7 的 iPhone 中,我在 iOS 8 中没有遇到这个问题。查看这篇文章:Prevent IOS to shutdown an app when it app switch to facebook for login and permission request 但这个解决方案对我不起作用,因为我正在使用 pod 安装 fb 并进行后台共享。

【问题讨论】:

  • 您的代码中显然存在导致应用程序崩溃的错误。这与 Facebook 无关。获取崩溃日志并进行调试

标签: ios iphone facebook facebook-graph-api


【解决方案1】:

虽然回答这个问题为时已晚,但我相信它可能对其他人有所帮助。
“成为负责任的后台应用程序” 部分下的 App Programming Guide for iOS 中,据说 如果您的后台运行应用程序不符合给定要求之一,它将被终止。
您可以熟悉完整的文档。我将引用其中 2 个完全符合您的问题的内容:

做一个负责任的后台应用

在使用 系统 资源和硬件。在后台运行的应用程序需要 为这种差异做好准备并在运行时调整它们的行为 在后台。具体来说,移动到后台的应用程序应该 请遵循以下准则:

  • 不要从您的代码中调用任何 OpenGL ES。 您不得创建 EAGLContext 对象或发出任何 OpenGL ES 绘图命令
    在后台运行时的任何类型。使用这些调用会导致 您的应用程序将立即被杀死。应用程序还必须确保任何
    之前提交的命令在移动到之前已完成
    背景。有关移动时如何处理 OpenGL ES 的信息 往返于后台,请参阅实现多任务感知
    OpenGL ES 编程指南中的 OpenGL ES 应用程序。

  • 在后台运行时做最少的工作。 给予后台应用程序的执行时间比
    给前台应用程序的时间。花费太多时间的应用
    在后台执行可以被系统限制或
    终止。

总而言之,当您的应用在 Facebook 分享后移至后台时,可能正在执行上述任务之一。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-30
    • 2020-09-08
    • 2013-05-08
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多