Koşu, ben beginBackgroundTaskWithExpirationHandler() altına koyduk ve böylece, aynı için on dakika ayrılmalıdır. Ancak, uygulamanın bundan önce askıya alındığını düşünüyorum. Yaptığım görev bellek ve CPU yoğun olduğu için, işletim sisteminin uygulamayı askıya alma durumuna getirmesi mümkün mü?
Öyleyse, bu kısıtlamaları atlamanın bir yolu var mı? (Özel API'leri kullanmaya açığım). onun basınçlı
Uygulamanın, arka plan durumuna girdiğinde bazı işlem yapıyorum sonlu uzunlukta arka plan görevi
if([[UIDevice currentDevice] respondsToSelector:@selector(isMultitaskingSupported)]){
if([[UIDevice currentDevice] isMultitaskingSupported]){
__block UIBackgroundTaskIdentifier bgTask;
UIApplication *application = [UIApplication sharedApplication];
bgTask = [application beginBackgroundTaskWithExpirationHandler:^{
[application endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[self captureImage];
[application endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
});
}
}
Arka plan görevini başlatmak için kullandığınız kodu gösterebilir misiniz? – Nate
Bu nasıl oluyor da * gerçek bir soru değil *? – Nate