gpt4 book ai didi

swift - 在部署目标 iOS 8 的 iOS 应用程序中使用聚光灯

转载 作者:可可西里 更新时间:2023-11-01 01:57:49 25 4
gpt4 key购买 nike

我的 iOS 应用程序将最小部署目标设置为 iOS 8.0,我想在其中启用 Spotlight 搜索。我了解 Spotlight 搜索只能在 iOS 9 及更高版本中使用。这就是为什么在我的 AppDelegate 中我使用 available

@available(iOS 9.0, *)
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
if userActivity.activityType == CSSearchableItemActionType {
if let uniqIdentifier = userActivity.userInfo?[CSSearchableItemActivityIdentifier] as? String {
print(uniqIdentifier)
}
}
return true
}

Xcode 给我这个错误

Protocol 'UIApplicationDelegate' requires 'application(_:continue:restorationHandler:)' to be available on iOS 8.0 and newer

我能用它做什么

最佳答案

我找到了解决方案,所以我决定发布它,因为它可能对其他开发人员有用。导入CoreSpotlight后

import CoreSpotlight

如果你的目标是 iOS 8.0 和更新版本,你应该添加 application(_:continue:restorationHandler:) 方法。但由于“CSSearchableItemActionType”仅适用于 iOS 9.0 或更新版本,因此您应该在方法中添加版本检查。

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {

if #available(iOS 9.0, *) {
if userActivity.activityType == CSSearchableItemActionType {
if let uniqIdentifier = userActivity.userInfo?[CSSearchableItemActivityIdentifier] as? String {
print(uniqIdentifier)
}
}
}
return true
}

关于swift - 在部署目标 iOS 8 的 iOS 应用程序中使用聚光灯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49917465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com