首页   注册   登录
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/
iOS 开发实用书单
iPhone App Development: The Missing Manual
Cocoa and Objective-C: Up and Running
Cocoa Programming for Mac OS X
深入浅出设计模式 Head First Design Patterns
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
V2EX  ›  iDev

阿里系的 iOS 应用真的在后台播放无声文件保持后台么

  •  
  •   wohenyingyu02 · 2017-03-30 10:03:05 +08:00 · 5278 次点击
    这是一个创建于 935 天前的主题,其中的信息可能已经有所发展或是发生改变。

    首先用 retriever 把淘宝与支付宝的 info.plist 配置文件读出,发现确实在 UIBackgroundMode 加入了 audio 的后台权限(谁会用支付宝与淘宝后台听歌?如何过 apple store 审核的?和苹果有 python 交易?)已经具备后台播放无声文件的条件。

    在关闭所有权限,正常使用情况下,支付宝和淘宝 2min 的前台时间一般带有 10 到 20min 的后台时间。在没有 fetch 和 remote push 的权限下能达到这么久,只有依靠那 180s 的临时后台和无声文件播放吧,显然前者没法提供这么久的后台时间。

    微信与 qq 虽然都有此权限,但是因为带有 voip 与播放音乐功能,也属于正常权限。是否有知道内幕的来证实一下?

    18 回复  |  直到 2017-03-31 09:43:23 +08:00
        1
    lslqtz   2017-03-30 10:04:26 +08:00 via iPhone
    支付宝如果内置浏览器打开一个页面不算吗
        2
    zzNucker   2017-03-30 10:20:43 +08:00
    谁告诉你淘宝不用 audio 权限放歌的,不然怎么支持应用内的乱七八糟小游戏
        3
    wohenyingyu02   2017-03-30 10:27:32 +08:00 via iPhone
    @zzNucker 小游戏需要在退出时继续播放声音?对淘宝有啥好处呢?
        4
    wohenyingyu02   2017-03-30 10:28:48 +08:00 via iPhone
    @zzNucker 我在 iOS 上装的大游戏都没有此类权限,为何小游戏需要?
        5
    game3108   2017-03-30 10:29:58 +08:00
    如果真的是播放音乐的话,你锁屏以后应该看的到无字的音频界面(至少 bilibili 的我看到过,就是后台下载的时候放音频。。是不是能去掉我就不清楚了)。而且这种后台放音乐理论上应该是不允许的吧,很久以前我做过,但没敢提交审核。
    iOS 保持后台的方式好像挺多的,像 voip ,音频,定位之类的,好像很多都是以定位的方式保持后台时间?
        6
    wohenyingyu02   2017-03-30 10:33:28 +08:00 via iPhone
    @game3108 定位权限已经关闭。我自己实现过播放声音保持后台的,不会在锁屏上出现,而且不会打断其他音乐播放软件,调整下播放模式即可实现。
        7
    jhqz103   2017-03-30 10:33:35 +08:00
    虽然没必要,但是我还是习惯除了 qq 和微信,其他用完就划掉。。
        8
    wohenyingyu02   2017-03-30 10:43:33 +08:00
    @jhqz103 划掉增加了下次启动时间,有可能更耗电,而且如果使用了 iOS6 的 voip 和 remote push 权限,划掉依然是可以自启动的……
        9
    game3108   2017-03-30 10:49:37 +08:00
    @wohenyingyu02 soga 。因为是很久之前试过了,不会打断别的音乐是肯定的。就是不知道为啥 b 站下载会显示那个音频界面。。。
        10
    beimenjun   2017-03-30 10:52:08 +08:00
    不知道什么内幕。

    但是 plist 上声明了又不代表就会用。

    而且这种后台 Mode 也不是你可以通过设置就能禁止的。

    另外如果用的是播放空白声音,上拉控制面板的音频播放部分的时候,都会暴露的。而且也会影响音乐播放器的问题。

    最后比较好奇你是怎么计算一个 App 的后台运行时间的。
        11
    sunhr   2017-03-30 10:58:21 +08:00
    非阿里系, iOS7 之前用过这种方式保持后台下载, UC 浏览器之前也是这么干的,还有 bilibili 。

    AudioSession 设置成 Mix 的话,貌似不会出现在 Control Panel 中,也不会影响音乐播放。

    DeploymentTarget 升级到 iOS7 以后,就弃了,官方 API 后台下载还是挺好用的。
        12
    wohenyingyu02   2017-03-30 11:01:25 +08:00
    @beimenjun 电池电量里,点击每个 app 即可查看前台时间与后台时间。不会影响别的音乐播放器,只要将播放模式设置为 MixedWithOthers 。音乐面板也不会显示, iOS10 是否会显示没测试过。
        13
    fyl00   2017-03-30 11:03:16 +08:00   ♥ 1
    昨天反正发生了一件很诡异的事情,我也不知道是巧合还是有其他黑科技。
    我在微信问朋友,快递到了么。然后立马收到了阿里的短信,说可以在支付宝里的我的包裹查看快递。

    以前从来没收到过这个短信,如果是巧合,这也太巧了
        14
    wohenyingyu02   2017-03-30 11:06:47 +08:00
    @sunhr 那个下载接口似乎除了下载干不了别的?没用过不清楚,但是播放音乐基本上是想干啥都行……
        15
    leafin   2017-03-30 11:14:27 +08:00
    淘宝不知道,但是支付宝有语音到帐提醒,这个算是后台播放的一个理由吧。
        16
    much13   2017-03-30 19:36:22 +08:00
    too navie 淘宝有视频和直播,支付宝里也有生活圈可以视频 怎么就不能申请音频权限? 然后现在 90%以上的 App 应该都有音频权限吧
        17
    wohenyingyu02   2017-03-31 09:43:01 +08:00 via iPhone
    @much13 播放视频和直播不需要任何权限。
        18
    wohenyingyu02   2017-03-31 09:43:23 +08:00 via iPhone
    @leafin 嗯,这个算
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1063 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 29ms · UTC 22:58 · PVG 06:58 · LAX 15:58 · JFK 18:58
    ♥ Do have faith in what you're doing.