用户按下或关闭应用程序并在iOS中重新启动应用程序时下载文件

时间:2015-07-20 11:08:30

标签: ios objective-c iphone

我是iOS新手,我想从iOS App中的服务器下载数据库。当我在模拟器中从Xcode运行应用程序时,它第一次完美运行。

下载完成后,我按命令 + shift + H 打开主屏幕,因为没有主页/后退按钮在模拟器中。我再次打开了应用程序,但这次没有下载数据库。

我已将下载代码保存在viewWillAppearviewDidLoad两者中,并同时下载数据库两次。

我的目的是在用户恢复/重启应用程序时下载文件。我在android中做了同样的事情,其中​​onResume / onPause / onRestart方法可用。我想在iOS上实现同样的目标。

一个疑问......

  1. 如何在iOS模拟器中按回按钮?
  2. 我认为后退按钮从开始启动应用程序(至少在android中)不是主页按钮。我该如何在iOS模拟器中测试它。

2 个答案:

答案 0 :(得分:0)

  • 如果您确实需要下载数据每次显示视图(我真的不建议这样做),请从viewDidLoad删除下载代码并保留一个来自viewWillAppear

  • command+shift+H是在模拟器上按主页按钮的正确方法。

答案 1 :(得分:0)

您必须处理应用程序状态。请参阅以下来自苹果的文件 -

https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/TheAppLifeCycle/TheAppLifeCycle.html

处理来自appDelegate或

的那些

您可以通过添加下面的观察者来处理这些

[[NSNotificationCenter defaultCenter]addObserver:self
                                         selector:@selector(backgroundMethod)
                                             name:UIApplicationDidEnterBackgroundNotification
                                           object:nil];
[[NSNotificationCenter defaultCenter]addObserver:self
                                            selector:@selector(foregroundMethod)
                                                name:UIApplicationDidBecomeActiveNotification
                                              object:nil];