我刚刚拒绝了我的IOS(8.2)应用更新,因为本地通知没有出现在Apple Watch上。
由于本地通知无法在模拟器上进行测试,并且手表尚未发布,因此很难确切地说出错误。
我怀疑它与设置UILocalNotification对象的alertTitle属性有关,正如Apple Watch Programming Guide中提到的那样,我没有这样做。
我之所以没有设置这个原因,是因为在通知中心和Watch中,alertTitle和alertBody属性的处理方式似乎不同。
例如,如果我希望Watch在2分钟内显示"历史记录。",那么根据编程指南,我需要设置alertTitle。
但是,对于iPhone应用程序,我需要设置alertBody,以便显示通知警报(如果我只设置标题,没有alertBody,则不显示通知警报):
来自alertBody的文字:
但是,如果我还将alertTitle设置为相同的文本(以便它显示在Watch上),那么在Notification中心,文本会显示两次,即标题和正文,例如:
来自alertTitle和alertBody的文本
另外,如果我没有设置alertTitle,那么主通知屏幕会显示应用名称,这也很烦人。 E,G,:
应用名称和alertBody中的文字 - 没有设置alertTitle:
那么,设置alertTitle和alertBody是否可以用于通知警报,通知中心和Watch?
BTW:我刚从应用中删除了通知屏幕截图和说明并重新提交。一旦我可以在模拟器中测试(如果曾经发生过),我就会添加本地通知,或者我得到一块手表(如果发生这种情况的话!)。
答案 0 :(得分:4)
将警报标题和警报正文设置为不同的文本时有意义。根据{{3}}的Apple文档:
标题字符串应该很短,通常只有几个字 描述通知的原因。 Apple Watch显示 标题字符串作为短视通知界面的一部分,其中 空间有限。
所以,在我的应用程序中,我将标题和正文设置为不同的文本。
当弹出通知时出现:
这是通知中心的文字,其中显示了标题和正文:
我理解文档,以便只在Apple Watch的简短通知中显示标题。
我认为您的应用因未设置通知标题而被拒绝。