0

我有一个奇怪的错误,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

这不得不在今年左右的某个地方打破,因为我知道在某一时刻它正在工作。我还确认在设备上测试时行为是相同的。

附加信息

  • 钛工作室,构建:3.1.3.201309132423
  • Ti SDK 3.1.3 正式版
  • iOS7 SDK
4

1 回答 1

1

嗯,这很简单。应用程序暂停后,您无法注册 Web 服务。

您只需编写以下几行,当您的应用程序进入暂停状态时,您的服务将自动触发

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

希望这可以帮助 !!!

于 2014-01-20T18:31:12.477 回答