【问题标题】:Local/Push-Notification and launch app本地/推送通知和启动应用程序
【发布时间】:2014-01-09 06:45:42
【问题描述】:

我在以下场景中遇到了问题。

1) 应用在后台。

2) 推送通知。

3) 根据推送通知的文本启动应用程序。(对于启动应用程序,我使用自定义 URL 方案)

Eq.我在 A.ipa 中注册了推送通知,并希望通过 pushnotification 启动 B.ipa

是否可以从 Local/Push-Notification(iOS7) 启动应用程序?

有没有其他方法可以与后台应用程序通信并启动其他应用程序?

谢谢,

【问题讨论】:

    标签: iphone ios7 push-notification xcode5 uilocalnotification


    【解决方案1】:

    使用 URLSchemes 从您的应用 (A) 启动另一个应用 (B)。但是 B 应用程序应该使用 URL Schemes 注册。

    您可以搜索 URL Schemes 并浏览可用的教程。

    【讨论】:

    • 是的,B 已注册 URL Schemes。它在 A.ipa 处于前台时成功启动。但我想知道,推送通知是否可以午餐 B.ipaA.ipa 处于前台模式?
    • 当我的应用程序在后台时,以下 API 是否工作?(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"HelloTest ://aaTest.com.HelloTest"]]; // } }
    • 我从未尝试过,但我认为此链接包含有关您的问题的一些信息:nshipster.com/launch-options
    【解决方案2】:

    是的,可以从本地/推送通知启动应用程序。实际上,这是默认行为。

    iOS7 之前,通知都是“冗长的”,这意味着向用户显示一个警报视图,允许他在需要时启动应用程序,或者关闭通知,离开应用程序不知道。 iOS7 引入了静默推送通知,无需用户交互即可启动应用程序。

    【讨论】:

    • 感谢您的回复,
    • 当Socket通信建立并且app在后台时,我能实现同样的事情吗?
    • 我已经尝试使用本地通知,它无法从后台启动新的 B.ipa。确保推送通知在后台启动 B.ipa。
    • 通过本机通知,应用程序可以通过其协议专门针对第二个应用程序的 URL 启动另一个应用程序。关于您自己的套接字:您了解存在于您自己的应用程序中,并在您的应用程序死亡时死亡:当您的应用程序未启动时,它们不会收到任何数据。
    • 我强烈推荐你阅读objc.io/issue-5/multitasking.html - 这是一篇关于iOS多任务处理的顶级文章。您将严格了解系统提供的 API,原因是:iOS 将允许您通过这些 API独家管理自己的生命周期。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多