我正在编写一个iPhone应用程序,并且需要由于某些用户操作强制退出它。在清理了应用程序分配的内存后,调用哪种适当的方法来终止应用程序?
答案:在清理了应用程序分配的内存之后,可以使用exit(0)方法来终止应用程序。
我正在编写一个iPhone应用程序,并且需要由于某些用户操作强制退出它。在清理了应用程序分配的内存后,调用哪种适当的方法来终止应用程序?
答案:在清理了应用程序分配的内存之后,可以使用exit(0)方法来终止应用程序。
可以使用名为Darvin
的库。
import Darwin
exit(0) // Here you go
NB: 这在 iOS 应用程序中不推荐使用。
这样做会获取到崩溃日志。
除了主页按钮之外,退出应用程序的方式真的不像 iOS。
不过,我做了这个助手,它不使用任何私有内容:
void crash()
{ [[NSMutableArray new] addObject:NSStringFromClass(nil)]; }
但在我的情况下仍不适用于生产。它是用来测试崩溃报告或在Core Data重置后快速重新启动的。只是确保它安全,以免被拒绝,如果该函数留在生产代码中。
for session in UIApplication.shared.openSessions {
UIApplication.shared.requestSceneSessionDestruction(session, options: nil, errorHandler: nil)
}
这将调用您的应用程序委托上的applicationWillTerminate(_ application: UIApplication)
并最终终止应用程序。
但要注意两件事:
这肯定不是用于关闭所有场景的。(请参见https://developer.apple.com/design/human-interface-guidelines/ios/system-capabilities/multiple-windows/)
它在iPhone上的iOS 13上编译和运行良好,但似乎没有任何作用。
iOS/iPadOS 13中有关场景的更多信息:https://developer.apple.com/documentation/uikit/app_and_environment/scenes