Uygulamam UIBackgroundMode kullanıyor, yani uygulama etkin olmasa bile Bluetooth olayları meydana geldiğinde iOS tarafından yeniden başlatılıyor. Bu nedenle, Bluetooth olayları iOS tarafından bir arka plan sırasına gönderilir (sıra, tarafımdan belirlenir).Uygulama arka plana yeniden başladığında ana sıra gönderilir mi?
Can geri ana kuyruğuna ancak gönderme kodu, yani
DispatchQueue.main.async { }
(Swift)
dispatch_async(dispatch_get_main_queue(), ^{ })
(Objective-C)
ve çalışma döngüsü çalıştığını farz, yani benim bloklar gönderilir mi? Ya da arka plan modunda askıya alınan ana kuyruktur ve bu yüzden gönderim bloklarını eklemekten kaçınmalı mıyım?
Aynısını yapmayı denediniz mi? –
iOS'un ana döngüyü çalıştırdığı bir deneme yaptım çünkü uygulama arka plan modunda başlatıldığında bloklar yürütülür. Ancak, iOS'un _always_ gibi davranacağını varsayamam. Ana döngüyü çalıştırmaya devam edersek, bu benim uygulama için işleri çok daha kolay hale getirir çünkü o zaman iş parçacığı senkronizasyonuna gerek duymuyorum çünkü gerektiğinde ana sıraya göndermem yeterli olur. –