创建后台任务保活socket
核心代码
- (void)startBackgroundTask {
self.bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithName:@"UnityBackgroundTask" expirationHandler:^{
[self endBackgroundTask];
}];
}
- (void)endBackgroundTask {
if (self.bgTask != UIBackgroundTaskInvalid) {
[[UIApplication sharedApplication] endBackgroundTask:self.bgTask];
self.bgTask = UIBackgroundTaskInvalid;
}
}
void StartIOSBackgroundTask() {
[[iOSToUnityHelper shared] startBackgroundTask];
}
void EndIOSBackgroundTask() {
[[iOSToUnityHelper shared] endBackgroundTask];
}
private void OnApplicationPause(bool _pause)
{
#if !UNITY_EDITOR && UNITY_IOS
if (_pause)
IOSToUnityHelper.instance.StartBackgroundTask();
else
IOSToUnityHelper.instance.EndBackgroundTask();
#endif
}