ios - CSSearchableAttributeset supportPhoneCall,导航不起作用
问题描述
我正在尝试在 Spotlight 上公开我的应用程序
基本信息现已公开,但电话和导航不起作用
这是我下面的代码
var searchableItems = [CSSearchableItem]()
let hospitals = contents.compactMap { $0 as? Hospital }
for hospital in hospitals {
let searchItemAttributeSet = CSSearchableItemAttributeSet(itemContentType: kUTTypeData as String)
searchItemAttributeSet.title = hospital.name
searchItemAttributeSet.contentDescription = "visited"
searchItemAttributeSet.phoneNumbers = ["00-0000-0000"]
searchItemAttributeSet.latitude = NSNumber(value: hospital.coordinate.latitude)
searchItemAttributeSet.longitude = NSNumber(value: hospital.coordinate.longitude)
searchItemAttributeSet.supportsPhoneCall = 1
searchItemAttributeSet.supportsNavigation = 1
let searchableItem = CSSearchableItem(uniqueIdentifier: "\(hospital.identifier)", domainIdentifier: "hospitals", attributeSet: searchItemAttributeSet)
searchableItems.append(searchableItem)
}
CSSearchableIndex.default().indexSearchableItems(searchableItems) { (error) -> Void in
if error != nil {
print(error?.localizedDescription ?? "Error")
}
}
在 Spotlight 上搜索时,有 title 和 contentDescription,但没有 phoneCall Button 和 navigation Button
如何将它们添加到结果中
解决方案
您需要将属性设置为true
,而不是1
for hospital in hospitals {
let searchItemAttributeSet = CSSearchableItemAttributeSet(itemContentType: kUTTypeData as String)
searchItemAttributeSet.title = hospital.name
searchItemAttributeSet.contentDescription = "visited"
searchItemAttributeSet.phoneNumbers = ["00-0000-0000"]
searchItemAttributeSet.latitude = NSNumber(value: hospital.coordinate.latitude)
searchItemAttributeSet.longitude = NSNumber(value: hospital.coordinate.longitude)
searchItemAttributeSet.supportsPhoneCall = true
searchItemAttributeSet.supportsNavigation = true
let searchableItem = CSSearchableItem(uniqueIdentifier: "\(hospital.identifier)", domainIdentifier: "hospitals", attributeSet: searchItemAttributeSet)
searchableItems.append(searchableItem)
}
推荐阅读
- r - 基于项目的协同过滤在推荐实验室 r 中不断运行
- java - androidx.cardview.widget.CardView 无法转换为 androidx.recyclerview.widget.RecyclerView
- r - 闪亮的过滤日期导致错误,但不确定它到底是什么
- java - 动态加载jar文件并使用xml创建spring beans
- swift - 使用内部闭包时可能存在内存泄漏
- python - 在 flask_restplus RequestParser 中添加多个 json 字段
- javascript - js映射连接值和字符串(意外的令牌错误)
- ios - 在核心数据中,如何在保存时将项目保存到各自的类别父级?
- angular - Mocking a Directive to Test a Component - Angular 8 with jasmine and Karma
- php - 如何在 php 中使用 if(isset($_GET['type']==1){} 编写返回页面