我打算在我的应用程序上同时使用NSUserActivity和CoreSpotlight,但不知何故我无法让它按我的预期工作。
我目前在一家零售商在线商店工作。
需要执行以下步骤:
第 1 步:用户在我的 iPhone 应用程序中访问的每个产品都将由 NSUserActivity 对象识别,该对象将显示在 Search API 中。此外,它是公开的,并且有缩略图、标题、描述和有效期。
第 2 步。用户在 iPhone 搜索上搜索,产品确实出现在那里。如果用户点击它,它也会显示在应用程序中。到目前为止,所有这些都可以轻松实现。
第 3 步。用户有权“保存”该产品,因此在他这样做之前没有其他人可以得到它。因此,一旦产品被保存,我想修改 NSUserActivity 的详细信息,以便它可以显示在产品保存的描述上。据我所知,我不能这样做,因为没有 API 可以做到这一点。
理想情况下,我想修改描述和图像,让用户知道产品现在属于他,所以我会将 NSUserActivity 设为私有并修改其属性,但我找不到方法。
另一方面,我可以使用 NSUserActivity 处理公共产品并使用 CoreSpotlight 处理保存的产品,但在这种情况下,应用程序会显示两次相同的产品。一种是得救的和私人的,一种是公开的。我想避免的事情,因为我希望你只看到一次相同的产品,在这种情况下,你保存的那个是你的。
有什么办法可以实现吗?