iOS 10上应用程序无通知终止

3

我创建了一个具有后台刷新功能的iOS应用程序。 我重新编译该应用程序以针对iOS 10。 自那时以来,我的应用程序经常在挂起状态下被默默地终止,没有任何通知(没有willTerminate被调用,没有jetsam事件,也没有崩溃日志)。

它曾在iOS 9上很好用。 我已经升级到10.0.2,但与10.0.1相比没有实质性差异。

是否有人遇到同样的问题?或者有什么建议我应该调查?没有任何报告,我完全盲目,毫无头绪。

并且如果没有后台刷新,我的应用程序有一个重要的功能无法工作。

非常感谢任何帮助。

Philippe.

1个回答

2
iOS 10 对权限的处理方式进行了一些更改。如果 info.plist 文件中没有包含适当的键,应用程序将在 iOS 10 上默默崩溃。

https://developer.apple.com/library/content/releasenotes/General/WhatsNewIniOS/Articles/iOS10.html

您必须在Info.plist文件中包含适当的目的字符串键,以静态声明应用程序对受保护数据类的预期使用。例如,您必须包括NSCalendarsUsageDescription键才能访问用户的日历数据。如果您不包括相关的目的字符串键,则应用程序在尝试访问数据时退出。
有关需要进行的info.plist更改的更多信息,请参见此处: https://blog.xamarin.com/new-ios-10-privacy-permission-settings/?utm_medium=social&utm_campaign=blog&utm_source=facebook&utm_content=ios10-privacy

谢谢您的建议,但我没有访问任何用户数据(也不包括相机、提醒、日历、联系人等)。如果我理解苹果的声明,当访问这些数据时,应用程序将被终止;因此,它总是在我的代码中的同一位置完成,而这并非事实。我的应用程序在“挂起”状态下终止,尽管具有后台刷新功能,但从未重新启动。 - Darth Philou
有趣。我们的应用程序也没有访问日历数据,但我们仍然不得不添加密钥以避免静默崩溃。 - pnavk
我按照你的建议实施了,自从上周五以来,我的应用程序没有崩溃。所以,我不明白为什么,但似乎你的解决方案就是答案! - Darth Philou

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接