我计划同时在我的应用上同时使用 NSUserActivity 和 CoreSpotlight ,但不知怎的,我无法让它像我一样工作意。
我目前在零售商网店开展工作。
需要执行以下步骤:
第1步。用户在我的iPhone应用中访问过的每件产品都会被一个NSUserActivity对象识别,该对象将显示在Search API中。此外,它是公开的,并有缩略图,标题,描述和有效期。
第2步。用户在iPhone搜索上搜索,产品确实出现在那里。如果用户点击它,它也会显示在应用程序中。到目前为止,所有这些都很容易实现。
第3步。用户有权保存'那个产品,所以没有其他人可以在他之前得到它。因此,一旦产品保存,我想修改NSUserActivity的详细信息,以便它可以在描述中显示产品的保存。据我所知,我无法做到这一点,因为没有API可以做到这一点。
理想情况下,我想修改说明和图片,让用户知道产品现在属于他,所以我会将NSUserActivity设为私有,我会修改其属性,但我无法找到一种方式。
另一方面,我可以使用NSUserActivity来处理公共产品和CoreSpotlight所保存的产品,但在这种情况下,应用程序会显示两次相同的产品。一个是保存和私有的,一个是公共的。我想要避免的东西,因为我希望你只看到一次相同的产品,在这种情况下,你已经保存并且属于你的产品。
有什么方法可以实现吗?
答案 0 :(得分:0)
很容易防止项目重复。您需要做的就是在relatedUniqueIdentifier(NSUserActivity)和uniqueIdentifier(CSSearchableItem)中指定相同的值。
这也会提高你的排名。
有关详细信息,请参阅the documentation。