V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
jokester
V2EX  ›  iDev

是否可能用 silent push 让 iOS app 在后台启动?

  •  
  •   jokester · 2015-06-15 22:31:16 +08:00 · 3595 次点击
    这是一个创建于 3483 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我想做的事情: 让app在系统重启后自动启动, 不需用户干预

    目前在试的方法: 用APNs 发送silent push消息

    步骤:

    1. 在plist添加"UIBackgroundModes": "remote-notification"
    2. 获取需要的token
    3. 朝APNs发Payload: '{"aps":{"content-available":1}}'

    在7.1和8.1的两台ios设备上看到的行为是这样的:

    • 如果app在开机后已经启动过, 且没有手动关闭, AppDelegate的application:didReceiveRemoteNotification:fetchCompletionHandler: 方法会被执行
    • 如果app没有启动(用户手动关掉/设备重开机), 则那个方法不会被执行, app也不会启动到后台 (如果payload里有badge或sound, 则设备会有相应反应. 因此我猜测是ios不给app用而已).
    4 条回复    2015-06-16 15:08:11 +08:00
    lawder
        1
    lawder  
       2015-06-15 23:28:04 +08:00
    貌似可以用GPS位置变化来唤醒App,不过可能比较耗电
    ry_wang
        2
    ry_wang  
       2015-06-16 10:23:53 +08:00
    虽然我不懂, 但是感觉楼主要做坏事.
    jokester
        3
    jokester  
    OP
       2015-06-16 10:34:27 +08:00
    @ry_wang 不算很坏。我们的服务器端死程不想管理未读通知的条数,所以要app端定期去server读。读的时候又不想要用户干预。。
    danial
        4
    danial  
       2015-06-16 15:08:11 +08:00
    楼主死心吧。别用安卓推送的方式考虑iOS。后台自动轮询,在iOS上永远不靠谱。乖乖的用服务器记录badge number吧。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2856 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:08 · PVG 11:08 · LAX 19:08 · JFK 22:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.