iOS 后台服务第一次没有运行

标签 ios titanium appcelerator background-service

我遇到了一个奇怪的错误,当我第一次点击主页按钮时,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/

相关文章:

IOS 设备间推送通知——GCDAsyncSocket

javascript - 将图像旋转 90°

android - 如何使用 Titanium 仅从 Android 中的图库中选择视频?

android - 我可以阻止移动应用程序关闭吗

ios - 静态 UITableView 的更新部分

objective-c - 如何在 Objective-C 中的 UItableview 单元格中放置按钮?

iphone - 从 subview 使用 presentModalViewController

钛 添加事件监听器到函数调用

image - 如何在 Titanium 中以圆形裁剪图像?

javascript - 如何从 Titanium Appcelerator 的 webview 内部访问相机