问题标签 [nsuseractivity]

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 回答
1076 浏览

ios - 如何删除特定的 NSUserActivity 搜索索引?

NSUserActivity用来索引用户活动以进行搜索。我找到了一个解决方案来删除一个特定的,NSUserActivity分配一个CSSearchableItemAttributeSet到:relatedUniqueIdentifierNSUserActivity

并删除它使用

我不知道这是否是一个正确的解决方案。您有更好的解决方案来删除特定的NSUserActivity搜索索引吗?

0 投票
0 回答
659 浏览

ios - 如何在当前应用中触发 NSUserActivity 延续(通用链接打开)?

iOS9 中的 Universal Links 使用 Handoff 机制来查看应用程序中的链接而不是浏览器:每当单击 Universal Link 时,iOS 都会激活相应的应用程序并-application:continueUserActivity:restorationHandler使用包含 Universal Link 的 URL 的用户活动进行调用(请参阅Apple 通用指南链接)。

我想手动触发这个机制,即创建一个NSUserActivity带有webpageURL属性的实例并将其分派给当前应用程序的-application:continueUserActivity:restorationHandler. 有没有办法做到这一点?

目前我只是-application:continueUserActivity:restorationHandler直接打电话,但这感觉不对,我想以更合适的方式实现它。

0 投票
1 回答
280 浏览

ios9 - 聚光灯下的重复搜索结果

我有一个需要同时使用 NSUSerActivity 和 Corespotlight 的要求。即使我设置了relatedUniqueIdentifier =uniqueidentifer,我也会在聚光灯下看到重复的搜索结果。

这是我在项目中实施的步骤。

1) 在 appdeleagte didFinishLaunchingWithOptions 方法中创建所有 CSSearchableItems。

2) 在relatedUniqueIdentifier = uniqueidentifer(CSSearchableItem) 的特定视图控制器中创建NSUSerActivity

感谢你的帮助。

0 投票
1 回答
189 浏览

ios - iOS Spotlight 搜索 - 显示额外的应用程序信息?

如果您在 iOS 聚焦搜索中搜索 Pixelmator 或 Snapseed。它确实显示了应用程序,但也在右侧写了它们的类别,即“摄影”。

在此处输入图像描述

在此处输入图像描述

我想知道如何实现这一目标?没什么大不了的,但我正试图了解新的 3 iOS 9 搜索框架。

您还可以注意到 Snapseed 有它自己的类别,该类别显示为 Snapseed 标题。那个怎么样?

最后,如果我搜索“crop”、“contrast”、“vignette”、“selective”、“brush”、“transform”.. Snapseed 也会出现!

干杯

0 投票
2 回答
97 浏览

objective-c - 核心聚光灯描述被截断

我注意到即使描述字符长度低于 150,核心聚光灯描述也会被截断。

Apple 表示:与标题一样,长描述也会被截断,因此最好将描述限制为 300 个字符。

我想知道为什么核心聚光灯描述会被截断,即使字符长度小于 150,因为 Apple 建议限制为 300。

感谢你的帮助。

0 投票
3 回答
265 浏览

ios - 用于搜索的 iOS 9 NSUserActivity 不会更新它的缩略图

我使用NSUSerActivityandCoreSpotlight进行索引。我像往常一样thumbnailURL在属性中设置。contentAttributesSet图像从服务器下载,并在图像下载之前创建活动对象。所以我设置了一个“占位符”图像,当我有机会更新contentAttributesSet.thumbnailURL到正确的图像时。但是当我尝试在 Spotlight 中搜索相同的项目时,图像保持不变。

更新此类信息时,我是否需要注意任何特殊情况?

0 投票
1 回答
609 浏览

ios - 如何调试 iOS Handoff?

我在我的应用程序中添加了少量代码来处理 Handoff。没什么花哨的,只是创建简单NSUserActivity的,将我的-[UIViewController userActivity]属性设置为它并使其成为最新的。我确实NSUserActivityTypes为我的 . 添加了适当的数组Info.plist,但仍然没有任何效果。我的两台设备都登录到同一个 iCloud 帐户,并且 Safari Handoff 运行良好。我尝试了一切:我的应用程序图标没有出现在其他设备的锁定屏幕上。没有错误,没有警告,什么都没有。我该如何调试它?

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 投票
0 回答
310 浏览

ios - NSUserActivity : 使用循环索引多个 NSUserActivity

我想索引多个NSUserActivities相同类型的。下面给出了相同的代码:

从上面的代码中,name1, name2, name3 and name4必须创建 NSUserActivities 。但我得到的是,NSUseractivity 被覆盖,即,只有name4被索引。

代码中缺少什么?

0 投票
2 回答
1746 浏览

ios - 从 AppDelegate 方法导航到特定的视图控制器

目前,我已经在我的 AppDelegate 中实现了这两个方法

如果用户使用 Spotlight 的搜索结果打开我的应用程序,将调用第一个,如果从 Apple Maps 打开我的应用程序(因为它是一个路由应用程序),则会调用第二个。

我的问题是,从 APPDELEGATE 转到特定内容的最佳UIViewController方法是什么(独立于用户在什么视图中)?

我问的原因是因为目前我正试图根据用户的位置手动导航到它。例如,它们可能位于UIViewController模态显示的 a 中(然后需要将其关闭),或者它们可能位于 a 的深处,UINavigationController应用程序将需要在其中调用popToRootViewController.

这样做,代码变得毛茸茸的,似乎不能正常工作。这样做似乎也不正确,因为它非常脆弱。