问题标签 [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.
ios - 带有 NSUserActivity 的 Siri 快捷方式 - 活动删除不起作用
我正在使用API 以及 WWDC Introduction to Siri Shortcuts 和 Building for Voice with Siri Shortcuts 视频中的NSUserActivity
示例代码部分,但是一旦我的用户删除了相应的数据,我在删除活动时遇到问题。我的应用程序是一个读书应用程序,用户可以在其中下载和阅读书籍,所以我希望用户下载的每本书都有快捷方式,但是当/如果他们删除这本书时删除快捷方式。CoreSpotlight
NSUserActivity
我在这里有代码定义NSUserActivity
及其相关属性:
我还有定义 aCSSearchableItemAttributeSet
及其相关属性的代码,将其连接到NSUserActivity
并使其处于活动状态:
我通过研究发现 usingattributes.relatedUniqueIdentifier
摆脱了userInfo
字典,在我的情况下,这使得快捷方式根本不显示,所以我attributes.domainIdentifier
改为使用。
现在在另一个文件中,我去删除快捷方式。我试过使用这个使用self.activity.persistentIdentifier
属性的代码:
我也试过使用这个使用attributes.domainIdentifier
属性的代码:
这些解决方案都没有奏效。在这两种情况下,我都检查了productID
传递给函数的参数,并且两次都得到了正确的值。
有什么我做错了还是我错过了什么?
提前感谢大家的帮助。这是我的第一篇文章,如果我需要提供更多信息,请告诉我。
ios - NSUserActivity 与 Core Spotlight 深层链接
我同时使用 NSUserActivity 和 Core Spotlight 来索引我的应用程序上的内容。我使用 Core Spotlight 的原因是因为我想在用户访问(打开)它之前索引这个内容。
我面临的问题是在 AppDelegate 方法中:
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool
当我在视图控制器中执行此操作时,基本上userActivity
只包含正确的信息:
userActivity = myUserActivity
但如果我这样做,它就不起作用:
CSSearchableIndex.default().indexSearchableItems(searchableItems)
.
通过使用第二种方法(Core Spotlight),我可以在 Spotlight 搜索中看到所有结果,但是当我点击该项目时,AppDelegate 方法中没有任何信息。
最糟糕的是:
po userActivity.activityType
"com.apple.corespotlightitem"
如果我打印activityType,而不是我自己的,我会得到这个......
有什么建议么?
ios - 如何预定义应用于触发 Siri 某些操作的某些短语
我可以使用 NSUserActivity 或 Intent 创建快捷方式,然后让用户记录将触发某个快捷方式的某个短语,方法是向他展示一个适当的视图控制器,或者发送 hi 到 Settings->Siri->Shortcuts . 为此,我将仅使用此代码,例如:
这只是为 Siri 的建议添加了一个快捷方式,并使其在“设置”中可用,但用户仍然必须记录短语才能通过某个短语触发快捷方式。
如何为特定操作预定义诸如“执行某些任务”之类的短语并使用户可以使用它,而无需手动记录它?
更准确地说,我想根据用户所说的话在我的应用程序中打开一个特定页面。例如,打开第一页,打开第二页,打开菜单等...
ios - 如何在应用程序启动时创建多个快捷方式
所以我正在尝试在应用程序委托中捐赠多个快捷方式(如 20 种类型的活动)......如果我在特定的视图控制器中捐赠它很奇怪,但是如果我在应用程序委托中创建一个 for 循环它不起作用......这是代码:
ios - 基于 NSUserActivity 的 Siri 快捷方式是否支持自定义 UI?
基于 NSUserActivity 的快捷方式是否支持自定义 UI?
我在自定义 Intent 的帮助下创建了自定义 Siri 快捷方式。我能够创建一个没有 UI 的版本(只是Intent
)和一个带有自定义 UI 的版本(IntentsUI
),它在与 Siri 的内联交互过程中显示。是否可以使用NSUserActivity
基于 - 快捷方式的自定义 UI?
ios - 在objectiveC中获取和设置NSUserActivity
我尝试了下面的代码来设置和获取 NSUserActivity 但它对我不起作用。我无法获取 nsuseractivity 的数据,我在 iOS 版本 10 及更高版本的设备中测试以下代码。在 callkit 中设置 NSUserActivity:
在 info.plist : NSUserActivityTypes 作为 INStartAudioCallIntent INStartAudioCallIntent
在 Appdelegate.m 中:
注意:我检查了 Speakerbox 的代码。
ios - 为什么通过 Spotlight 打开时 NSUserActivity contentAttributeSet 为零?
当我在我的应用程序中查看特定屏幕时,我正在计算一个 NSUserActivity。(没关系,想象一个位置)
我使用 contentAttributeSet 设置了很多有关此活动/位置的信息。
当我一遍又一遍地访问这个屏幕时,我将 viewController 的 userActivity 属性设置为这个派生活动,并调用becomeCurrent()
它。
最终,Siri 会在 Spotlight 中建议该快捷方式。正如预期和期望的那样。我点击它,它会启动我的应用程序并调用:
但是,该.contentAttributeSet
属性将为零。
为什么?我这里有什么不明白吗?我想我以后需要访问的任何数据都应该在 userInfo 字典中?那行得通(只要我不设置webpageURL)
corespotlight - Core Spotlight 字幕属性
CSSearchableItemAttributeSet 中是否有内容类型列表 -> 属性字段,用于描述 Spotlight 搜索结果字幕使用哪些属性字段?
Apple 的示例文档显示了正在使用的多个内容属性,例如创建日期、更改日期等,但我找不到实际考虑显示哪些字段的映射。