问题 iOS 5:默认情况下,我可以在“通知中心”中安装我的应用程序吗?


我在App Store中有一个iPad应用程序,其逻辑很大程度上依赖于本地通知。换句话说,应用程序内发生的很多事情都是由委托方法应用程序didReceiveLocalNotification触发的。

随着今天发布的iOS 5,我发现应用程序可以(通过设置)放置在“通知中心”或“不在通知中心”。到目前为止,我还没有在新文档中找到任何内容,但我希望有一种方法可以默认将我的应用程序设置为“In Notification Center”,(甚至可能将Sounds设置为active并将通知类型设置为Alert)除了向新用户明确说明他们下载并安装我的应用程序后,他们必须手动选择该应用程序为“在通知中心”。

有人知道这是否可行?似乎由于应用程序可以注册本地通知,因此默认情况下它应该能够接收它(无论它是否在新的通知中心中显示警报或项目)。提前致谢。


4856
2017-10-13 00:25


起源



答案:


我遇到了同样的问题。我在文档中看到的唯一线索是新的通知中心处理本地和远程通知。因此我假设应用程序应该注册本地,因为它将用于远程通知。添加了这段代码 -

[[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];

在我的应用程序安排了本地通知后,它出现在“通知中心”中。

但是,如果我的应用程序已经出现在“Not In Notification Center”中,它似乎没有任何影响。那么,在下一次更新被搞砸之前,我的所有客户都运行了应用程序吗?


7
2017-10-14 10:38



嗯,无论如何,这有点帮助。但是,是的,我讨厌以前安装和运行我们的应用程序的人只需要解决这个问题。我想是时候在我的支持网站和iTunes元数据上发布消息到iOS 5升级了! - Gregir
介意我问你在哪里添加了那段代码?有最好的做法吗?再次感谢您的提示。 - Gregir
我已经在didFinishLaunchingWithOptions的开头添加了它。这对Apple来说非常烦人,因为默认情况下只能关闭本地通知的应用程序。那些没有从App Store更新应用程序的用户呢? - Kof
如果你实际上没有使用推送通知,似乎无法工作,因为否则呼叫失败? - mrueg
不在这里,我不使用推送和注册工作。也许你正在使用需要推送的标志? - Kof


答案:


我遇到了同样的问题。我在文档中看到的唯一线索是新的通知中心处理本地和远程通知。因此我假设应用程序应该注册本地,因为它将用于远程通知。添加了这段代码 -

[[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];

在我的应用程序安排了本地通知后,它出现在“通知中心”中。

但是,如果我的应用程序已经出现在“Not In Notification Center”中,它似乎没有任何影响。那么,在下一次更新被搞砸之前,我的所有客户都运行了应用程序吗?


7
2017-10-14 10:38



嗯,无论如何,这有点帮助。但是,是的,我讨厌以前安装和运行我们的应用程序的人只需要解决这个问题。我想是时候在我的支持网站和iTunes元数据上发布消息到iOS 5升级了! - Gregir
介意我问你在哪里添加了那段代码?有最好的做法吗?再次感谢您的提示。 - Gregir
我已经在didFinishLaunchingWithOptions的开头添加了它。这对Apple来说非常烦人,因为默认情况下只能关闭本地通知的应用程序。那些没有从App Store更新应用程序的用户呢? - Kof
如果你实际上没有使用推送通知,似乎无法工作,因为否则呼叫失败? - mrueg
不在这里,我不使用推送和注册工作。也许你正在使用需要推送的标志? - Kof


目前似乎没有。

我处于类似的情况。我很想对此做错,但我发现在我希望它的任何地方都没有提到任何这样的API(用于指定使用app的本地通知默认出现在通知中心) :


3
2017-10-14 07:07



我也是,但我想我会把它放在那里,因为我还是相对较新的iOS,并认为我可能会错过它。 - Gregir