我在IOS应用程序开发中使用cordova 2.1.0。
我将IOS设备连接到MAC处理器,并安装/初始化了在xcode中运行的应用程序,或者将其从itunes文件夹中拖动了。现在,我将设备与处理器断开物理连接,并通过设备中启用的wifi断开连接,并通过APNS将通知/消息发送到设备。我能够在设备中成功接收通知。现在过了一段时间,我将设备重新连接到处理器,这导致应用程序再次启动并再次调用“ didFinishLaunchingWithOptions”方法的问题,这是不理想的,因为启动/初始化应该只发生一次。此行为是随机的,即。每当我断开连接/重新连接时,都不会发生,只是有时会发生。为什么会这样呢?这种随机行为的原因可能是什么?
任何帮助将不胜感激。
最佳答案
每次启动应用程序时都会调用didFinishLaunchingWithOptions:
。当您从Xcode运行应用程序并断开设备连接时,它会终止该应用程序。因此,当您在断开设备连接的情况下启动应用程序时,它将再次启动该应用程序,当应用程序启动完成时,它将调用didFinishLaunchingWithOptions:
。如果您从Xcode运行该应用程序,然后以相同的方式再次运行它,则会发生相同的事情。
编辑:
不知道它是否清楚,但是如果您退出应用程序(按主屏幕按钮)并回叫而不杀死它,则不会调用didFinishLaunchingWithOptions:
。