大都督
查看详细资料
TOP
原帖由 @kelaredbull 于 2015-8-3 20:49 发表 你应该把这事捅给360和媒体,发动群众斗群众。
原帖由 @小文 于 2015-8-4 13:13 发表 iOS7以后就有正经的官方途径的后台下载方法了。比如我用的instacast,就可以后台静默下载最新的音频节目然后在通知中心通知用户。 关于iOS的后台机制,网上有很多文章的,有的人试图在2015年将伪装成音频说成是合理合法的后台手段,真不知道是啥情况: 在iOS7以前的系统中,App默认是不能后台运行的,如果要后台运行,可以采用以下两类方法: (1)使用beginBackgroundTaskWithExpirationHandler函数,向系统申请一段时间来执行需要后台运行的操作,这种方法的缺点是,后台操作最多只能运行10分钟,超过10分钟之后App会休眠。使用这种方法需要APPNAMEinfo.plist中设置Application does not run in background为NO,然后在适当的时间调用beginBackgroundTaskWithExpirationHandler函数。 (2)将App的后台运行模式设置为audio 、VOIP、location、Newstand等。使用这种方法,可以无限制的在后台运行,以audio为例,将plist中的Required background modes项目设置为App plays audio or streams audio/video using AirPlay,并且在进入后台时播放无声音乐,就可以让App一直运行。这种方法的缺点是,如果使用不当,可能会被AppStore拒绝。因为审核时是可以通过静态分析知道使用了哪些API的,如果一个程序本来就不是音乐类的,却使用了播放音乐的API后台播音乐,有可能就被拒绝,如果想要绕过这个限制,可以向APP增加播放音乐的功能,但这样实际是增加了无用功能。 在iOS7以后,系统增加了两种后台的模式,一种是Background fetch ,另一种是Remote notification,下面分别介绍。 Background fetch: 设置了这种后台方式之后,当App休眠之后,会隔一段时间被系统唤醒,从而执行一段短时间操作。唤醒的间隔由系统决定,App中可以设置;,但即使设置了,间隔也不确定是多少。另外,App被唤醒后,可以执行操作的时间也不长,文档上描述的30秒左右(实际上更长也可以,但是可能会降低以后被唤醒的几率)。 Remote notification:在iOS7以前,当系统收到推送消息后,会立即弹出消息提示用户,用户点击消息之后,就可以启动App,然后加载数据。使用了这种新的后台模式之后,当系统收到推送消息之后,会唤醒App,给App一个机会执行一部分操作,等操作之后才提醒用户,而且还支持silent模式,即执行完操作之后,完全不对用户做任何提醒,默默的就在后台把活干完了。 除了增加了上述的两种新后台模式以外,ios7还增加了一下传 ...
原帖由 @小文 于 2015-8-4 13:59 发表 贴这个文章是说明苹果不但不是像某些人说的就是不肯给第三方app后台功能,而是随着iOS的版本升级不断地在给,从后台播放音频,后台下载报刊杂志,后台VOIP,到后台任务完成,后台下载。但像安卓那样无限制的随便app怎么整的后台是不可能给的,系统不控制,就靠app自己控制,问题太多,体现在用户身上,就是手机耗电忽然就尿崩了。 有时间限制的后台执行是iOS6的模式,600秒,当用户按下home键退出app以后,用这600秒来完成一些未完成的任务,这不是真正意义的后台。 iOS7以后的真后台唤醒时间是由系统决定的,如果当前网络状况不好或者用户电量很低,频繁后台会导致更多的耗电。而且iOS一贯有很靠谱的通知中心系统,真正重要的东西app完全可以通过通知来提示用户。 后台下载才是iOS7之前真正的痛,开着app看着它下载不是好的体验,所以在iOS7以后增加了后台下载的功能,由于是系统级的通道,即使app被清出内存,下载依然是继续的,比你app自己常驻后台下载还要靠谱(app自己还可能因为内存不够被清出内存) 后台音频的模式也不是万能的,只要用户用别的app播放音频,之前那个程序就歇了。这种方法,即便在2013年以前也不算什么好办法,只是当时没办法。
原帖由 @小文 于 2015-8-4 14:22 发表 苹果要的就是有限制的后台,不然一切就不可控了。新机制肯定会继续增加,但也不会是无限制的。 在这个人性恶的社会,无限制就是群魔乱舞,你道高一尺,我魔高一丈,LBE、绿色守护、360极客版、耗电终结者轮番上阵,玩呗。
原帖由 @cynic0522 于 2015-8-4 14:58 发表 其实我觉得两边都太极端了。安卓放的太开然后逐渐往里收,现在的局面就是国产软件“无恶不作”。小白用户压根不会去了解这里面的弯弯绕,最后还是落个体验恶劣。 苹果从0起点往外放,结果是咱想着法偷摸“作恶”。但太多限制让有着更广泛需求的用户总觉得吊着一口气,平不下来,处处受钳制。
原帖由 @cynic0522 于 2015-8-4 19:38 发表 我个人是这么觉得啊,苹果这么做无可厚非而且及其正确,这个os反正就咱一家用,不用考虑碎片化、适应性等等问题。从一开始只要考虑用户体验和死扣成本即可。用户体验这种东西大多数人看的都是表面,明面儿上把事儿办了就行。 谷歌就没太明白为什么口子开这么大,毕竟对硬件厂商的开放和对软件厂商的容忍是两回事。