ios 这两种后台运行是怎么做到的?

344 天前
 hunono
我不是开发者,只是普通用户,纯好奇。
ios 后台运行一直是坑,听说是苹果对后台运行管的很严格。
1 、崩坏星穹铁道这个游戏可以后台下载,当有 4 、5G 更新时,进入游戏开启下载后,切出游戏使用其他 app 时下载不会断开、暂停。以前玩过的所有的游戏更新都没法做到在后台下载,黑屏也不行,只能傻傻的让屏幕常亮,在下载界面呆 10 分钟。为什么以前的游戏做不到后台下载,星穹铁道难道和 apple 有 py 交易开放了这功能?
2 、群晖的 Photo Mboile 怎么做到后台自动备份 ios 相册的,我一周没打开这 app ,这 app 确实帮我备份了相册,只是不是实时的,可能会延迟 1 天半天,在我的理解里只要不打开 ios 的 app ,备份相册这类“繁重”的工作 ios 做不到。
2925 次点击
所在节点    Apple
14 条回复
estk
344 天前
Google Phones 如果没在后台都做不到备份相册
i8086
344 天前
打开通知权限,可以在后台继续下载数据,王者荣耀和星穹铁道都可以,手机只有这两个游戏。

打开通知权限,OneDrive 可以后台继续上传照片和视频。
finab
344 天前
网络下载本就是支持后台的,下载请求会被系统托管维持在后台
备份相册可能是位置权限,这个权限打开位置更新时可以拉起 APP 运行代码
HAYABUSA
344 天前
第 2 点,「在我的理解里只要不打开 ios 的 app ,备份相册这类“繁重”的工作 ios 做不到。」

iOS 、maOS 等自带的相册就能在不打开 app 的情况下自动同步 iCloud ,且是可以做到实时同步的。
eternityz
344 天前
https://developer.apple.com/documentation/foundation/urlsession

"Download tasks retrieve data in the form of a file, and support background downloads and uploads while the app isn’t running."
6IbA2bj5ip3tK49j
344 天前
第一个:下载可以托管给系统
第二个:基本都是用的地理位置更新
mcluyu
344 天前
iOS APP 可以申请配置 10+种不同的后台模式, 比如蓝牙、静默推送、音频,AirPlay 、VoIP ,background fetch 等等, 只要愿意就可以实现后台下载。
beimenjun
344 天前
iOS 应用开发者来说一下。

1. 后台下载是有官方的方案的,但是相对来说是有额外工作量,不同 iOS 版本间还有点差异,太古早的可能还不好做。游戏很多时候这种功能优先级可能没那么高,或者支持的版本仅可能的老的时候也用不上这功能,所以你之前可能没遇到过支持后台下载的游戏。

2. 群晖的 Photos Mobile 应该采用的是 BackgroundTasks ,向系统注册一个 task ,让系统决定运行时候(比如锁屏/充电之类用户不使用的时机)触发这个 task ,task 的内容就是后台备份任务,系统触发后,应用会执行对应的 task ,我估计群晖还做了一些判断是否处于 NAS 对应的内网之类的操作,然后再挂上一个几个小时间隔的 task ,下次系统有机会运行了,又会触发。
okakuyang
344 天前
ios 有后台 app 提交一个任务让系统在合适时间运行。
s7964926
344 天前
这个帖子解决了很多疑惑,十分感谢。
shawndev
344 天前
8L 的答案已经比较准确了,更详细的资料。

官方的相关文档 https://developer.apple.com/documentation/uikit/app_and_environment/scenes/preparing_your_ui_to_run_in_the_background/

Xcode 提供的后台模式
Audio,AirPlay, and Picture in Picture
Location updates
Voice over IP
External accessory communication
Uses Bluetooth LE accessories
Acts as a Bluetooth LE accessory
Background fetch
Remote notifications
Background processing
Uses Nearby Interaction
Push to Talk
SenLief
344 天前
简单来说就是有些后台是 ios 自己处理的,你只要告知 ios 我要求后台。
ZRS
344 天前
没做过 iOS 开发,但我观察 iOS 后台下载似乎是限速的
yohole
344 天前
我在 ios 用的一个剪切板 APP ,目前使用体验中无法实时监控剪切板,哪怕 APP 打开之后,切换到其他 APP 一会就被杀后了,不知道这类需要实时监控的剪切板 APP 能否使用上述方案解决?

如果目前 ios 有后台实时监控剪切板的 APP 也请大兄弟跟我说下,谢谢哈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/958554

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX