如何在iOS中以编程方式重新启动或重新加载iPhone应用程序

时间:2012-02-03 10:04:34

标签: iphone objective-c ios xcode cocoa-touch

我已经下载了包含一些更新参数的xml file,然后我需要重新加载这些参数并初始化一些视图。最简单的方法是在下次应用程序启动时应用此配置。有没有办法以编程方式重新启动iOS application

谢谢。

5 个答案:

答案 0 :(得分:9)

重新启动应用程序是一个坏主意,我很确定Apple会拒绝它。但是,您可以显示一个弹出窗口,告诉用户打开关闭应用程序以应用更新的信息。但最好的方法是手动调用重建应用程序所需的方法(即需要使用更新数据的方法)。 如果你必须进行一些广泛的重建(即用户会立即注意到的事情),那么添加一个“加载”进度条可能是个好主意。

答案 1 :(得分:4)

你无法重启你的应用程序,我不明白为什么你会a)必须b)想要的。

答案 2 :(得分:2)

您可以通过一些用户帮助退出并重新启动iOS应用。在挂起时为应用程序退出设置应用程序的plist键。为您的应用创建本地通知,以便在未来几秒内触发。然后向Safari发送一个URL。启动Safari以处理URL时,操作系统将终止您的应用程序。该URL可能是一个Web登录页面,告诉用户重新启动正在进行中。然后本地通知会响起并要求用户重新启动您的应用。

然而,应该(重新)设计应用程序,以便没有理由这样做。

答案 3 :(得分:1)

只有在您的设备被越狱时才能执行此操作

在您的应用中添加重启按钮,然后拨打abort();。这会使应用程序崩溃。

挂钩-(void)exitedAbnormally;来自SBApplication并编写代码以启动您的应用。

如果没有越狱,你别无选择

答案 4 :(得分:0)

如果为越狱设备开发,可以使用uicache命令清理跳板缓存并重新加载新的应用程序/图标(可从UIKit包中获得)。

例如,

1)如果你在root下:

    su mobile -c uicache 1>/dev/null 2>&1

2)如果你在移动电话下:

    uicache

对于重启,您可以在root下使用reboot命令,并使用killall SpringBoard进行重新启动