相关疑难解决方法(0)

测试应用程序是否从UILocalNotification变为活动状态

有没有办法知道应用程序是否通过本地通知变为活动状态?

我知道有一种方法来测试,如果应用程序被启动从本地通知提醒; 但如果只是坐在那里的背景,并收到通知?

当应用程序变为活动状态时,我需要运行不同的代码:

  1. 来自本地通知.
  2. 刚刚变得活跃:)

有办法吗?

iphone background objective-c uilocalnotification

43
推荐指数
4
解决办法
3万
查看次数

iOS如何判断应用程序是运行前台还是后台?

众所周知,如果iOS应用程序正在运行前台,那么应用程序将不会在删除通知到来时通知用户.现在在我的应用程序中,我想显示警告以通知用户远程通知到来.如何判断应用程序是运行前台还是后台?我找到了docs并搜索了stackoverflow.com,却找不到任何相关内容.谢谢.

foreground ios

27
推荐指数
2
解决办法
2万
查看次数

当应用从iOS中的本地通知进入前台时触发特定操作?(使用swift)

我正在使用新语言Swift构建iOS应用程序.现在它是一个HTML5应用程序,使用UIWebView显示HTML内容.该应用程序具有本地通知,我想要做的是当应用程序通过单击(触摸)本地通知进入前台时触发UIWebView中的特定javascript方法.

我看过这个问题,但它似乎没有解决我的问题.我也遇到过这个问题,它告诉我使用UIApplicationState,这很好,因为这可以帮助我知道应用程序从通知进入前台.但是当应用程序恢复时,我如何在应用程序恢复时显示的视图的viewController中调用方法?

我想做的是获取我的ViewController的一个实例并将其中的属性设置为true.事情如下

class FirstViewController: UIViewController,UIWebViewDelegate { 
  var execute:Bool = false;
  @IBOutlet var tasksView: UIWebView!
}
Run Code Online (Sandbox Code Playgroud)

在我的AppDelegate中我有方法

func applicationWillEnterForeground(application: UIApplication!) {
    let viewController = self.window!.rootViewController;
    let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)

    var setViewController = mainStoryboard.instantiateViewControllerWithIdentifier("FirstView") as FirstViewController
    setViewController.execute = true;


}
Run Code Online (Sandbox Code Playgroud)

所以我想做的是当应用程序再次进入前台时,我想查看执行变量并按如下方式运行方法,

if execute{
 tasksView.stringByEvaluatingJavaScriptFromString("document.getElementById('sample').click()");
}
Run Code Online (Sandbox Code Playgroud)

我应该在哪里放置逻辑代码来从webview中触发javascript?它会在viewDidLoad方法,还是其中一个webView委托方法?我试图将该代码放在viewDidLoad方法中,但布尔执行的值设置为其初始值,而不是当应用程序进入前台时在委托中设置的值.

uiwebview ios uilocalnotification swift

18
推荐指数
2
解决办法
2万
查看次数