我正在创建一个应用程序来监听重要的位置更改事件,如果应用程序被终止,那么iOS将使用UIApplicationLaunchOptionsLocationKey设置启动应用程序.
因此,文档说要创建一个新的位置管理器并再次注册位置更新.但是,没有提到我是否应该初始化我的viewController(就像我在正常的应用程序启动时一样)?我的视图控制器在viewDidLoad中初始化,但是在appDidFinishLaunchingWithOptions中创建.
知道操作系统为应用程序提供多长时间进行位置更新处理?如果位置更改指示应用程序感兴趣的位置,我的应用程序需要发出Web服务请求.
谢谢
您应该考虑将初始化代码移动到新方法,例如initializeViews.此方法将检查以确保视图尚未初始化,然后初始化它们.您可以从application:didFinishLaunchingWithOptions:和调用此方法applicationWillEnterForeground:,但application:didFinishLaunchingWithOptions:只有在应用程序未进入后台时才会调用.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
...
if([UIApplication sharedApplication].applicationState != UIApplicationStateBackground)
[self initializeViews];
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
[self initializeViews];
}
- (void)initializeViews {
if(!viewsAreInitialized) {
...
viewsAreInitialized = YES;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1639 次 |
| 最近记录: |