【问题标题】:close application in IOS在 IOS 中关闭应用程序
【发布时间】:2012-07-20 03:09:48
【问题描述】:

我有一个应用内订阅产品。加载应用程序后,我会显示“立即订阅”屏幕来启动购买过程。如果用户取消,应用程序必须关闭/移动到后台/终止,因为他们拒绝了服务。最好的方法是什么?

【问题讨论】:

  • 我希望这不是一个公共应用程序。一种快速的方法是您可以强制运行关闭应用程序委托方法之一。
  • 你不能因为他们没有订阅你的服务而让你的应用崩溃。这将被 Apple 拒绝。

标签: ios background terminate


【解决方案1】:

iOS 人机界面指南中的“Don't Quit Programmatically”下解决了这种情况:

切勿以编程方式退出 iOS 应用程序,因为人们倾向于将此解释为崩溃。但是,如果外部环境阻止您的应用程序按预期运行,您需要告诉您的用户这种情况并解释他们可以做些什么。根据应用程序故障的严重程度,您有两种选择。

显示一个有吸引力的屏幕,描述问题并提出更正建议。屏幕提供反馈,让用户确信您的应用程序没有问题。它让用户可以控制,让他们决定是要采取纠正措施并继续使用您的应用程序,还是按主页按钮并打开其他应用程序

例如,考虑 iTunes Store 或 App Store 应用程序,如果没有网络连接,它们将毫无用处。如果您将设备置于飞行模式,然后启动其中一个,它们将显示一个大的 Wi-Fi 图标,并显示一条消息,说明需要 Internet 连接。 (我认为警报提供禁用飞行模式,但如果你点击取消,你会明白我的意思;应用程序不会退出。)

请放心,如果您只是强行退出应用程序,Apple 会拒绝它。

【讨论】:

  • 我同意。你可以把它们放在一个带有随机图像的屏幕上。我记得一个廉价的 iphone 克隆有这种开发者钓鱼的图像。
  • 如果这看起来可以接受,我愿意离开现在订阅屏幕并让用户退出。在他们退出之前,什么都不会发生。有这方面的经验吗?
  • @MonicaRoseMartino 没有个人经验,但似乎没问题。
【解决方案2】:

我不知道是否允许..但你可以使用

Exit(0);

或者:

[[NSThread mainThread] exit];

应用程序将关闭。

【讨论】:

    【解决方案3】:

    最好不要那样做。你可以在他们点击取消后显示另一个屏幕,解释他们为什么不能继续,然后给他们一个按钮再试一次。

    【讨论】:

      猜你喜欢
      • 2013-07-30
      • 1970-01-01
      • 2014-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多