【问题标题】:iOS app vanishing from Notification Center after updateiOS 应用程序在更新后从通知中心消失
【发布时间】:2013-03-18 05:36:23
【问题描述】:

我有一个使用 Titanium Studio 编写的 iOS 应用程序,通过 Urban Airship 使用推送通知、徽章和声音。在我上次更新后,升级的人在通知中心遇到问题。起初我的应用程序仍然出现在通知中心,但是通常出现在应用程序名称下的“徽章、声音、横幅”已经消失了。如果您进入通知中心的应用程序设置,则根本不存在更改这些内容的选项。当然,此时推送通知也不起作用。

现在,如果您重新启动手机或重新安装应用程序,通知中心的程序条目将完全消失。我发现在重新安装应用程序并重新启动手机足够多次后,通知中心中的条目将重新出现,并且推送将再次起作用。要求我们所有的用户都这样做当然是一件荒谬的事情。

即使发生这一切,我仍然会从手机收到正确的 APID,并且推送消息声称可以正确发送。手机只是不显示它们。

在一次全新的安装中,我已经尝试过一切都很好。

我完全不知道该去哪里。有什么建议吗?

编辑 1: 这是代码的相关部分。我只从以前的版本中更改了一行,并且记录了从以前的版本中更改的唯一且唯一的代码行。

var Urbanairship = require("com.0x82.urbanairship");
Urbanairship.options = {
  APP_STORE_OR_AD_HOC_BUILD: true, 
  DEVELOPMENT_APP_KEY: "xxx",
  DEVELOPMENT_APP_SECRET: "xxx",
  PRODUCTION_APP_KEY: "yyy",
  PRODUCTION_APP_SECRET: "yyy",
  LOGGING_ENABLED: true,
  LOG_LEVEL: 5
};

  Ti.Network.registerForPushNotifications({
  types: [
    Ti.Network.NOTIFICATION_TYPE_BADGE,
    Ti.Network.NOTIFICATION_TYPE_ALERT,
    Ti.Network.NOTIFICATION_TYPE_SOUND
  ],
  success: function(e){

    var token = e.deviceToken;
    Urbanairship.autoBadge = true;
    Urbanairship.pushEnabled = true; //Added this line, only line to change
    Urbanairship.registerDevice(token);
    userData.pushID = token; //save pushid
    Ti.App.Properties.setString('userData', JSON.stringify(userData));
  },
  error: function(e){
    alert("The Push Servers appears to be down. Please restart the app and try again");
    if(DEBUG == true){Ti.API.debug("Apple Push Error: "+e.error)}
  },
  callback: function(e){
  pushReceived(e.data.type);
  }
})

【问题讨论】:

  • 您是否在多台设备上测试过这种行为(不是一个有软件问题的设备)?
  • 5 台设备。 2 台 iPad 和 3 台 iPhone。
  • 您能否提供上次更新代码更改的差异(与推送通知相关)?
  • 遇到同样的问题...您找到解决方案了吗?
  • 对不起,但不是真的。如果有足够的时间,它似乎可以自行解决,但加快它的唯一方法似乎只是重新启动并重新安装,直到它起作用。幸运的是,以下任何更新都没有再次发生这种情况,我只能假设这是操作系统中的错误。

标签: ios push-notification titanium apple-push-notifications


【解决方案1】:

如果通知设置消失了,则不太可能是代码问题。该代码只能请求通知,不能完全更改设置。

您的更新可能是使用较旧的配置文件构建的,即未启用推送的配置文件。在配置文件中找不到“aps-environment”标志,当应用程序尝试注册时,它将在 xcode 控制台中显示此错误: https://support.urbanairship.com/customer/portal/articles/60710-can-t-get-a-device-token-%22no-valid-aps-environment-entitlement-%22-seen-in-console

如果这是问题所在,为了安全起见,您可以从 xcode 安装中删除现有的配置文件,然后从门户修改并重新下载配置文件,然后重新构建并重新提交应用程序。

【讨论】:

  • 奇怪的是,如果有足够的时间,应用程序会重新出现在通知中心。然后不久之后,推送消息再次开始工作。我们可以从配置文件问题中得到这种行为吗?
  • 我从未见过这样的事情;如果安装的应用程序发生这种情况而没有重新安装、重新构建或更新配置文件,那么听起来这可能是一个奇怪的极端情况或错误。我会尽可能多地收集信息并将其提交给 Apple。
猜你喜欢
  • 1970-01-01
  • 2012-05-16
  • 1970-01-01
  • 2012-08-13
  • 1970-01-01
  • 1970-01-01
  • 2015-09-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多