Swift3 - 调试时后台获取崩溃
Posted
技术标签:
【中文标题】Swift3 - 调试时后台获取崩溃【英文标题】:Swift3 - Background Fetch Crash on Debug 【发布时间】:2016-10-20 20:01:05 【问题描述】:func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool
print(UIApplicationBackgroundFetchIntervalMinimum)
UIApplication.shared.setMinimumBackgroundFetchInterval(UIApplicationBackgroundFetchIntervalMinimum)
return true
func application(_ application: UIApplication, performFetchWithCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void)
completionHandler(.newData)
这是我的代码,当我在 XCode 中调试 > 模拟后台获取我的应用程序崩溃时,没有任何原因。我在功能>后台模式>后台获取...有什么想法吗?
它只在模拟器中的 iPhone 上崩溃我没有问题。
【问题讨论】:
你的应用在哪一行崩溃了? 检查我的答案 blog.newrelic.com/2016/01/13/ios9-background-execution @MuhammadNoman Swift 3 在 iOS 10 XCode 8 上 不管你用的是 swift 3 ,还是从这里拿个概念不要跟 【参考方案1】:根据您的上述描述,我在我的项目中尝试过,但效果很好,performFetchWithCompletionHandler
也在后台工作。
首先我尝试不添加此属性,但未调用 performFetchWithCompletionHandler。所以,尝试在 info.plist 文件中添加这个
<key>UIBackgroundModes</key>
<array>
<string>fetch</string>
</array>
它会解决我的问题
【讨论】:
不,我收到libsystem_kernel.dylib
mach_msg_trap: 0x182d38164 : movn x16, #0x1e 0x182d38168 : svc #0x80 -> 0x182d3816c : ret `
@BogdanBogdanov 你愿意和我分享你的项目吗?所以我可以理解,如果你不介意
Jecky 它可以在模拟器上运行,但在我的 iPhone 上崩溃了
在 Xcode 8.2.1 中,您必须点击“继续执行程序”(调试区域中的播放按钮)以上是关于Swift3 - 调试时后台获取崩溃的主要内容,如果未能解决你的问题,请参考以下文章
未连接到 xcode 调试模式时,iOS7 后台获取 performFetchWithCompletionHandler 在设备上不起作用