Delphi iOS后台刷新示例BackgroundFetchDemo
iOS 平台的后台机制一直挺折腾人的,尤其是在 Delphi 里头搞后台任务,有点门槛。BackgroundFetchDemo这个例子就还蛮实用的,专门演示了怎么在 Delphi 里配置和使用Background Fetch来做后台刷新。
Delphi 的后台执行机制说白了就是靠iOS 的 Background Fetch。你得先在Info.plist
里打开对应权限,找到Capabilities
,勾上Background modes
,再点上Background fetch
,不然系统根本不会理你。
,在AppDelegate.pas
里注册下后台刷新事件,比如在applicationDidFinishLaunching
里用setMinimumBackgroundFetchInterval
设个最小间隔,让系统知道你有后台需求。
实际的活儿就得写在performFetchWithCompletionHandler
函数里了,比如拉数据、存文件之类的操作都可以放这里,但动作不能太慢,系统会限制时间,太久了直接杀掉。
下面这段代码就是个典型的后台刷新逻辑,逻辑也不复杂:
function TAppDelegate.application(application: UIApplication,
performFetchWithCompletionHandler completionHandler: TBackgroundFetchCompletionHandler): Boolean;
begin
// 拉新数据
// ...
completionHandler(UIBackgroundFetchResultNewData);
end;
调试的时候记得在 Xcode 里开了Background App Refresh
,不然你怎么写都没用。你可以锁下屏或者后台应用,等着看触发效果。
,BackgroundFetchDemo挺适合想在 Delphi 里搞后台逻辑的开发者,思路清晰,代码也挺干净。如果你正好在搞 iOS + Delphi,可以先照着它撸一遍,感觉一下流程。
11.71KB
文件大小:
评论区