代码之家  ›  专栏  ›  技术社区  ›  Ronnie

iOS后台服务第一次未运行

  •  0
  • Ronnie  · 技术社区  · 12 年前

    我遇到了一个奇怪的错误,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 "

    如果我通过仪表板再次启动应用程序(不要重新编译),然后点击主页按钮,控制台显示 暂停[新行]bg注销过程已开始iOS版

    这不得不在今年左右的某个时候打破,因为我知道它曾一度奏效。我还确认了在设备上测试时的行为是相同的。

    其他信息

    • Ti工作室,建筑:3.1.3.20120139132423
    • 钛SDK 3.1.3 GA
    • iOS7软件开发工具包
    1 回复  |  直到 12 年前
        1
  •  1
  •   Maverick    12 年前

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

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

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

    希望这能有所帮助!!!