代码之家  ›  专栏  ›  技术社区  ›  Ben Zotto sberry

我可以主动关闭iOS应用程序吗?

  •  4
  • Ben Zotto sberry  · 技术社区  · 14 年前

    有一些罕见的数据损坏的情况下,而不是尝试在同一个会话恢复,我想执行一些修复,然后关闭应用程序,以便下次发射将是安全的。

    除了用一些愚蠢的东西来破坏应用程序 *(unsigned int *)0 = 0xDEADBEEF

    更新:找到了这个主题的文档,基本上证实了怀疑并指出 exit

    http://developer.apple.com/iphone/library/qa/qa2008/qa1561.html

    3 回复  |  直到 14 年前
        1
  •  8
  •   thyrgle thyrgle    14 年前
    exit(0);
    

    是的,它也适用于iPhone。

    或者,

    [[UIApplication sharedApplication] terminate];
    
        2
  •  0
  •   hotpaw2    14 年前

    在调试调试版本时,我更喜欢一些会崩溃到调试器中的东西,这样我不仅可以知道原因,还可以在必要时查看更多细节。向任何非nil对象发送随机消息是一种客观的方法。

    [ UIApplication foo: bar ];
    

    对于应用商店提交,-terminate肯定会因为使用(官方)未记录的API而拒绝你的应用。而exit(0)也被报告这样做,即使它是一个有文档记录的操作系统调用。

    在OS4.0之前,您可以随时向Safari发送一个URL,这将导致操作系统正常终止您的应用程序。不知道在OS4.0中做什么,在那之后是AppStore合法的。

        3
  •  0
  •   Kendall Helmstetter Gelner    14 年前

    这对我来说没有任何意义-任何资源都不应该超出内部重置的范围。强制关闭应用程序对用户来说很糟糕。