当我的应用程序将用户重定向到safari(也发生在其他重定向不仅是safari)时使用
UIApplication.shared.open(URL ..)
然后用户按下“返回应用程序”按钮,应用程序重新开始,而不是从重定向之前的点继续.
我有一个设置表,按下单元格时会发生重定向. (想象一下“我们的更多应用程序”的单元格)
我知道这不是默认行为,所以我想念一些我无法通过谷歌找到的东西.谁可以指点我的文章或有想法?提前致谢.
“返回应用程序”按钮的屏幕截图
编辑:如果它起作用,我不使用故事板.所以考虑到评论可能我没有正确设置导航控制器所以没有层次结构堆栈?
基于@MaximSysenko观察,应用程序在重定向发生时停止/崩溃
这是重定向发生的地方:
override public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
switch indexPath.section {
...
//appSpecific
case 1:
if (indexPath.row == 0) {
} else if (indexPath.row == 1) {
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "permissions"), object: nil)
//tableView.deselectRow(at: indexPath, animated: true)
}
...
case 3:
else if (indexPath.row == 1) {
let url = URL(string: "itms://itunes.apple.com/us/developer/some-id")
UIApplication.shared.open(url!, options: [:], completionHandler: nil)
tableView.deselectRow(at: indexPath, animated: true)
}
最佳答案 我怀疑您的Info.plist包含此密钥的真值:
<key>UIApplicationExitsOnSuspend</key>
这将导致您的应用程序在进入后台时完全退出.将此键值设置为false,以使您的应用程序在前景到后台之间转换回前景.