问题标签 [ios-searchapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
82 浏览

ios - 使用 Search API,我可以获取 iOS 上已安装应用的列表吗?

去年,Apple 发布了 Search API。* https://developer.apple.com/videos/play/wwdc2015-709/

在此之前,无法获取 iOS 上已安装应用程序的列表。(对吗?)

如果我使用此 Search API,我可以获取 iOS 上已安装应用程序的列表吗?有人试过吗?

0 投票
1 回答
65 浏览

ios - iOS 9 Search Api - 是否需要使用 Web 标记 api 进行公共索引?

我从 iOS9 Search API WWDC 视频中了解到,使用启用公共索引的 NSUserActivity 可以使该活动在超过某个阈值时全局可用。我想知道是否可以在核心聚光灯搜索结果中向所有 iOS9 用户显示任何索引的用户活动数据,只使用带有公共索引的 NSUserActivity。或者是否还需要使用 Web Markup API 来启用所有 iOS9 用户?

0 投票
0 回答
70 浏览

ios9 - 搜索 API 优先于 CSSearchableItemAttributeSet

我可以像这样创建 CSSearchableItemAttributeSet。

例如,如果我搜索 SQ2,

我的结果是这样的。

SQ212
SQ222
SQ214

用户搜索SQ2时是否可以优先考虑SQ214(即先显示SQ214)?

当我索引 indexSearchableItems 时,我将不知道 SQ214 是否在前,或者我不知道它是否有 SQ214。但如果有的话,我想先展示一下。

0 投票
1 回答
999 浏览

ios - NSUserActivity 没有被 Spotlight 索引

我试图让我的 NSUserActivity 被 iOS 中 Spotlight 中的私有索引索引。我已按照Apple 的索引活动和导航点指南中的所有步骤操作,但我的活动似乎根本没有被聚光灯索引。

该指南说:

为了保证活动及其元数据被索引,您必须持有对该活动的强引用,直到它被添加到索引中。有两种方法可以做到这一点: 第一种方法是将活动分配给创建活动的控制器对象中的属性。第二种方法是使用 UIResponder 对象的 userActivity 属性。

我选择了第一个选项(在我的视图控制器中创建一个属性来保存 NSUserActivity)。

这个想法是,当用户搜索某些东西时,他的最后一个查询会在设备上被索引。我有以下方法可以准备用户活动并(据说)对其进行索引:

调用此方法没有问题,但该活动不可搜索:我已尝试使用title分配给它的 Spotlight 进行搜索,而keywords. 该活动从未出现。

我尝试了很多解决方案,包括:

  • 创建活动后直接移动eligibleForSearch呼叫。Apple 的指南没有直接说明这一点,但提供的链接中的代码片段似乎暗示将这一行设置为true应该自动将活动添加到索引中。

  • 苹果并没有说becomeCurrent()应该调用它,而是说它会为你调用(如何?不知道)。不管你看到什么,我都试着自己打电话。在将其分配给我的财产后,我也尝试调用它。没有骰子。苹果确实说过,当调用becomeCurrent()具有eligibleForSearchas的活动时true,它将被添加到索引中。

  • 我什至userActivity直接使用视图控制器的属性来创建和配置活动。因为我正在使用提供的属性,所以它不应该提前释放。

据我所知,我正在做 Apple 在他们的指南中所做的一切。我完全迷路了。

我正在 iPhone 6S+ 上进行测试,因此可以使用 Spotlight 索引。控制台也不打印与 Spotlight 相关的任何内容。

更新:

我只是将活动的委托设置为self并实现了该userActivityWillSave方法。

根据NSUserActivityDelegate文档,关于userActivityWillSave:

通知代理用户活动将被保存以继续或持久。

所以这个委托方法被调用了,但是索引项却无处可寻。这是更新的代码:

0 投票
2 回答
263 浏览

ios - 如何有效检测 UI 文本输入以调用 google places API 以获取建议?

在 UItextfield 中检测用户输入以调用地点 API 以作为用户类型的建议的最佳方法是什么?目前我的做法是,在 3 个字母之后,我为每个字母输入调用地点 API。但如果用户输入 4 到 5 个字母,应用程序很快就崩溃了,可能是因为网络过多或其他原因。

以 ios 中的谷歌地图应用或谷歌搜索应用为例。他们如何决定在什么时候调用 api 来显示建议的结果?有时用户打字速度很快,有时他们一个字母一个字母地打字。

如果我的问题很愚蠢,请道歉。

ios自动完成搜索

0 投票
0 回答
61 浏览

ios - 我如何知道 Applebot 是否开始为我的网站编制索引?

我们已经实现了苹果在 Spotlight 和 Safari 搜索结果中提供我们网站内容所需的一切:

  • 网络标记
  • 通用链接
  • 权利+协会

但该网站仍然不会出现在聚光灯或 safari 搜索中。

有没有办法跟踪 Applebot 是否开始索引该站点,或者缺少什么?