我遇到了一个奇怪的错误,当我第一次点击主页按钮时,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)
- 控制台仅显示“
已暂停
”。我应该看到“iOS 的暂停[新行] bg 注销过程已开始
”
如果我通过仪表板再次启动应用程序(不要重新编译),然后点击主页按钮,控制台会显示暂停[新行] bg注销过程已开始iOS
这必须在今年左右的某个时候打破,因为我知道它曾经在某个时刻发挥过作用。我还确认在设备上测试时的行为是相同的。
其他信息
- Ti Studio,版本:3.1.3.201309132423
- Ti SDK 3.1.3 GA
- iOS7 SDK
最佳答案
嗯,这很简单。应用程序暂停后,您无法注册网络服务。
您只需编写以下几行,当您的应用程序进入暂停状态时,您的服务就会自动触发
var service = null;
if(service != null){
service = Ti.App.iOS.registerBackgroundService({
url: 'includes/services/ios_bgservice.js'
});
}
希望这有帮助!!!
关于iOS 后台服务第一次没有运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19121945/