1

我打算在我的应用程序上同时使用NSUserActivityCoreSpotlight,但不知何故我无法让它按我的预期工作。

我目前在一家零售商在线商店工作。

需要执行以下步骤:

第 1 步:用户在我的 iPhone 应用程序中访问的每个产品都将由 NSUserActivity 对象识别,该对象将显示在 Search API 中。此外,它是公开的,并且有缩略图、标题、描述和有效期。

第 2 步。用户在 iPhone 搜索上搜索,产品确实出现在那里。如果用户点击它,它也会显示在应用程序中。到目前为止,所有这些都可以轻松实现。

第 3 步。用户有权“保存”该产品,因此在他这样做之前没有其他人可以得到它。因此,一旦产品被保存,我想修改 NSUserActivity 的详细信息,以便它可以显示在产品保存的描述上。据我所知,我不能这样做,因为没有 API 可以做到这一点。

理想情况下,我想修改描述和图像,让用户知道产品现在属于他,所以我会将 NSUserActivity 设为私有并修改其属性,但我找不到方法。

另一方面,我可以使用 NSUserActivity 处理公共产品并使用 CoreSpotlight 处理保存的产品,但在这种情况下,应用程序会显示两次相同的产品。一种是得救的和私人的,一种是公开的。我想避免的事情,因为我希望你只看到一次相同的产品,在这种情况下,你保存的那个是你的。

有什么办法可以实现吗?

4

1 回答 1

0

防止项目重复非常容易。您需要做的就是在relatedUniqueIdentifier (NSUserActivity) 和uniqueIdentifier (CSSearchableItem) 中指定相同的值。
这也将提高您的排名。

有关详细信息,请参阅文档

于 2016-08-08T11:57:51.030 回答