2013-10-01 2 views
0

У меня возникает странная ошибка, когда фоновое обслуживание в iOS не запускается в первый раз, когда я нажимаю кнопку «Домой».iOS Фоновая служба не работает в первый раз

Мой код прост:

//-- app.js 
Ti.App.addEventListener('paused', function(event) 
{ 
    Ti.API.info('paused'); 
    var bgService = Ti.App.iOS.registerBackgroundService({ 
     url: 'includes/services/ios_bgservice.js' 
    }); 
}); 

//-- ios_bgservice.js 
Ti.API.warn('bg logout process has begun for iOS'); 

Мой процесс:

  • компиляции/запуска приложения в эмуляторе
  • симулировать кнопку домой (Cmd + Shift + h)
  • КОНТРОЛЬНЫЕ РЕЗУЛЬТАТЫ ТОЛЬКО "paused". Я должен видеть «paused [new line] bg logout process has begun for iOS»

Если я запустить приложение снова через приборную панель (не перекомпилировать), а затем нажмите на кнопку домой, консоль показывает paused [new line] bg logout process has begun for iOS

Это должно было разбить где-то около года, потому что Я знаю, что в какой-то момент он работал. Я также подтвердил, что при тестировании на устройстве все одинаково.

Дополнительная информация

  • Ti-студия, встроенная: 3.1.3.201309132423
  • Ti SDK 3.1.3 GA
  • iOS7 SDK

ответ

1

Ну, это довольно просто. Вы не можете зарегистрировать веб-сервис после того, как приложение приостановлено.

Вы просто написать следующие строки и ваша служба будет автоматически срабатывает, когда приложение переходит в состояние паузы

var service = null; 
if(service != null){ 
service = Ti.App.iOS.registerBackgroundService({ 
     url: 'includes/services/ios_bgservice.js' 
    }); 
} 

Надежда это помогает !!!

+0

Да, я понял, спасибо – Ronnie

Смежные вопросы