问题标签 [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 投票
2 回答
3159 浏览

ios - 无法在 Swift 3 / iOS 10 中触发 continueUserActivity

注意:我想出了大部分 - 请参阅最后的更新。还是有些迷茫。

我正在尝试在 Swift 3 下的 Xc8b6 中实现 NSUserActivity 处理,并且在处理程序协议方法的方法签名方面遇到问题。

在当前文档中,该方法被称为:

这与我在 swift 标题界面中看到的略有不同。在那里,restoredHandler 中的返回类型是 Swift.Void。

当我尝试这个时,我得到的错误是:

Objective-C 方法 'application:continue:restorationHandler:' 提供​​的方法 'application(_:continue:restorationHandler:)' 与需求的选择器 ('application:continueUserActivity:restorationHandler:') 不匹配

我意识到编译器警告现在不是很好,但我认为这意味着它找到了 Obj-C 方法签名,但不知何故我的论点并不完全匹配。

我不知道还能去哪里。它与那里的内容相匹配 - 但有些地方出了问题。随机猜测和检查还没有帮助我。

有趣的是,自动完成功能给了我一个不同的方法签名:

关于这个的好处是它可以编译。不太好的事情是,当我从 Spotlight 中选择索引项目并点击它以启动应用程序时,它不会被触发。

显然,我的 NSUserAction 正确识别了应用程序并启动了它。有什么我可能在这里丢失的东西不会触发restoreHandler 吗?请注意,这是从在 iOS 9 下运行良好的项目转换而来的。

我还在 WWDC 视频的 What's New With Search 中看到了另一个版本的协议方法签名。我试过了,它编译但也没有触发。

顺便说一句,这是我在 Swift 3 转换工具完成后得到的签名。它已编译,但从聚光灯启动时没有被触发:

- - 更新 - - -

行。所以上面提到的第一个方法签名是正确的。问题是我在 AppDelegate 的扩展中定义它。这在 Swift 2.x 中运行良好。

我把它移了上去,一切都很好。但是我想更好地理解为什么在从扩展中实现协议方法时会出现这些编译错误。它不再通过协议一致性了吗?如果我尝试将它添加到扩展程序中,我会收到一个错误,表明它是重复的,所以我不认为这就是它。

0 投票
1 回答
232 浏览

ios - NSUserActivity 没有在 osx 上被索引

我正在尝试将我自己的活动添加到 osx 10.11 上的 Spotlight 搜索结果中。但经过多次尝试后,我无法通过关键字搜索而不是标题搜索进入 Spotlight 搜索结果。

我还使用 initWithActivityType: 参数中的 NSUserActivityTypes 数组和项目更新了 Info.plist

另外我注意到在控制台中有时会出现消息:

0 投票
0 回答
247 浏览

ios - iOS Handoff - getContinuationStreams 总是失败

我正在尝试通过NSInputStreamand获取更大的数据来实现 iOS Handoff NSOutputStreamapplication(_:continue:restorationHandler:)当我在我调用的方法中成功接收用户活动getContinuationStreams但它总是失败并出现错误:

错误域 = NSCocoaErrorDomain 代码 = 4609 “由于网络不可用,无法完成切换。” UserInfo={NSUnderlyingError=0x17db43c0 {错误域=NSPOSIXErrorDomain Code=51“网络无法访问” UserInfo={NSLocalizedDescription=连接丢失}}}

字典userInfoNSUserActivity为空,接收良好。

我遵循了Apple 的 Handoff Programming Guide和这篇文章

这是我如何创建用户活动的代码示例:

在 AppDelegate 中,我收到如下用户活动:

参数inputStreamoutputStream始终为零。

我究竟做错了什么?有人有线索吗?

0 投票
1 回答
862 浏览

ios - ios10 swift 3核心聚光灯搜索无法获得nsuseractivity的标题

我在 userActivity.title 上没有得到任何东西,它在 appdelegate 处变为 nil。检查下面,这曾经在 ios9 中工作,我记得。我需要在 attributeSet.title 中设置 Title,但它总是为零。

索引我的项目的代码

应用程序委托中的代码

0 投票
1 回答
489 浏览

ios - NSUserActivity 指示不起作用

我在使用我的应用程序中的 mapItem 实现 NSUserActivity 时遇到了一些麻烦。

我想要的只是能够在应用程序切换器中使用“获取方向”建议,就像 Foursquare 所做的那样:

在此处输入图像描述

我在我的viewDidLoad方法中使用以下代码,在显示我要注册的位置(酒吧)的视图控制器中。

当它运行时,我在控制台中看到以下内容:

这表明我的activity物品由于某种原因立即失效。我添加了以下内容来设置expirationDate但仍然在控制台中得到相同的消息。

据我所知,我已经遵循了这里文档中的所有内容https://developer.apple.com/reference/foundation/nsuseractivity?language=objc

我还将我的活动类型添加到NSUserActivityTypes,尽管我认为这只是启动我的应用程序和接收活动对象所必需的,这不是我现在关心的。

已解决:基于下面@raidfive 的正确答案,activity现在是具有强引用的类属性:

0 投票
0 回答
94 浏览

ios - 如何使用 Universal Links iOS 添加额外数据?

我在我的应用程序中使用深度链接/通用链接。到目前为止一切正常,但我想知道您是否可以向这些链接添加额外信息,以便当用户点击它们时,我会返回数据。如果需要,我可以将数据加载到服务器等吗?

谢谢!

0 投票
1 回答
677 浏览

ios - iOS 9 App Search sendUserActivityToServer after it had been invalidated, so doing nothing

I want to index my notes for global search. I used a tutorial by Ray Wenderlich.

I added string into info.plist:

Here is my object:

But I don't understand how to register it. In my view controller I tried:

But always get:

sendUserActivityToServer, called on activity EC1785C0-2904-4F0A-9885-F4DB91C4B245 after it had been invalidated, so doing nothing.

0 投票
1 回答
57 浏览

ios - Spotlight 搜索 UserActivity 正在崩溃

我从 Crashlytics 获取 Crashlytics for Spotlight Search 的崩溃日志,该日志是使用 CoreSpotlight 框架和 UserActivity 实现的。我无法找到崩溃背后的原因。请帮忙在此处输入图像描述

0 投票
1 回答
205 浏览

ios - 如何更改 CSSearchableItem 中的年份日期(内容类型 - kUTTypeMovie)?

我有一个包含视频内容的应用程序,我跟踪所有查看的项目NSUserActivity以将其添加到 Spotlight。结果看起来很完美,除了年份日期,它总是NSUserActivity被添加到索引中的年份。但我需要将其更改为电影的发行年份。

Spotlight 中的电影项目表示

我不仅尝试设置,attributes.contentCreationDate而且还addedDate尝试设置CSSearchableItemAttributeSet_Media.h. 但它总是2018

0 投票
1 回答
1452 浏览

ios - 通用链接不起作用。链接验证器工具显示错误:错误没有与 url 关联的应用程序

我遵循了为应用程序添加通用链接支持的所有步骤。但是永远不会显示打开应用程序的选项。

  • 服务器托管具有以下内容的 apple-app-site-association 文件:

{

}

  • 安装应用程序时的设备日志:

swcd(CoreUtils)[216]:完成对“ https://example.com/.well-known/apple-app-site-association ”的请求,状态 0/0x0 noErr

swcd(CoreUtils)[216]:更新了应用程序 ID 'teamID.bundleID',域 '*.example.com',标志 0x0 < > -> 0x2 < SiteApproved > 检查

谁能告诉我我是否遗漏了什么?

提前致谢。