Приложение Mac OS X замедляется, когда его окно не сфокусировано

Я разрабатываю приложение для Mac OS X с SWIFT и ObjC, используя XCode 6.1. Приложение является сервером, и оно использует CFSocketRef в цикле выполнения основного потока.

Когда окно приложения не фокусируется на нем, приложение замедляется, и сервер получает сообщения от клиента с задержкой.

Это нормально (приложение без фокуса замедляется)? Если это нормально, есть ли способ установить приоритет основного потока, чтобы, если приложение не фокусировалось, оно продолжало работать таким же образом?

1 ответ

В моем классе контроллера я добавил в awakeFromNib функционировать beginActivityWithOptions и чем в applicationWillTerminate endActivity как следующее

class ConsoleController: NSObject
{
  var process : NSProcessInfo?
  var activity: NSObjectProtocol?
  override func awakeFromNib()
  {
    process = NSProcessInfo.processInfo()
    activity = process!.beginActivityWithOptions(NSActivityOptions.UserInitiated, reason: "Good")
  }
  func applicationWillTerminate(notification: NSNotification)
  {
    process!.endActivity(activity!)
  }
}
Другие вопросы по тегам