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
wohenyingyu02
V2EX  ›  iDev

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

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

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

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

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

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

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

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

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

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