标签: intents-extension

如何调试我的Siri(Intents)扩展?

我正在构建一个Siri aka Intents扩展.我知道我可以在启动后将调试器附加到正在运行的进程,但是,我从未看到过我的进程.我确实拥有我的应用程序设置为激活的授权,并且扩展程序必须至少运行一段时间,Siri正在显示明确的响应.

通过Apple文档,您应该使用Siri作为主机应用程序运行扩展方案.但是,如果我尝试在设备上没有任何反应,那么它正在等待永久地附着.Apple提到第一个连接可能需要" 几分钟 ",但不是几个小时......

知道我哪里出错或者如何实现与调试器的连接?或者至少有一些控制台输出?

ios siri ios10 intents-extension xcode-debugger

6
推荐指数
2
解决办法
4307
查看次数

SiriKit付款确认货币始终为美元

我构建Intents扩展,我正在处理INSendMoneyIntent,我说:

送25欧元给约翰史密斯

应用程序确认后的响应

这是您的<Your_App>付款,价格为25.00美元.你想发送吗?

Intent包含正确的货币iso 3代码 - EUR,那么为什么siri在付款确认中显示错误的货币?

回归意图

INSendPaymentIntentResponse *reponse = [[INSendPaymentIntentResponse alloc] initWithCode:INSendPaymentIntentResponseCodeReady userActivity:userActivity];
completion(reponse);
Run Code Online (Sandbox Code Playgroud)

ios ios10 sirikit intents-extension

6
推荐指数
1
解决办法
994
查看次数

iOS 10 Siri支持自定义词汇表的锻炼

在我的应用程序中,我希望能够告诉Siri:

所以我启用了Siri功能,添加了一个目标,实现了INStartWorkoutIntentHandling(以及其他)委托方法,一切正常.

我现在可以说Start a workout with MyAppName.PERFEKT!

现在我想告诉她类似Start an activity using MyAppName甚至是什么Start a hike using MyAppName.

所以我去了,并添加了AppIntentVocabulary.plist这样的东西: 在此输入图像描述 那里的快速问题......词汇项目标识符...如果工作 - 远足fe应该用于开始,结束,暂停,恢复,取消...标识符是否应该对所有人都相同?

现在我面临三个问题.

1.我可以告诉Siri的Start a hike,它会工作,她会问我,我应该使用哪个应用.我告诉她Start a hike using MyApp,她会告诉我她在Apple Music上找不到它?!?我勒个去?

2.如果我将单词添加Activity到我的词汇表中,她将只打开iOS活动应用程序...永远不会问我是否可能要打开我的应用程序.

3.在提交我得到漏字的警告一样的一拳No example phrase was provided for INStartWorkoutIntent in the "en" language,我也有!要么Sample phrase "Start a Hike using MyAppName" was not classified as a INStartWorkoutIntent intent

如果有人能向我展示一个AppIntentVocabulary.plist与siri和iTunes Connect配合使用的文件的有效样本,我将非常高兴!

ios siri ios10 sirikit intents-extension

6
推荐指数
1
解决办法
1114
查看次数

为RideIntent创建自定义CLPlacemark

我正在尝试使用Intents框架创建自定义CLPlacemark。我正在文件开头导入“意图”。

我找到了这个解决方案:

let waypointLocation = CLLocation(latitude: 50.00, longitude: 8.00)
let waypointName = "Some Name"

let w1 = CLPlacemark.init(location: waypointLocation,
                                      name: waypointName,
                                      postalAddress: nil)
Run Code Online (Sandbox Code Playgroud)

不幸的是,上面的代码给了我以下错误信息:

对成员'init(placemark :)'的引用不明确

任何想法有什么问题吗?

说明文件:

core-location ios swift sirikit intents-extension

6
推荐指数
2
解决办法
1304
查看次数

IntentResponse 的 .continueInApp 选项未打开应用程序 IOS 12 Beta 6

我正在处理这样的自定义意图操作:

internal func handle(intent: UsageIntent, completion: @escaping (UsageIntentResponse) -> Void) {
    completion(UsageIntentResponse(code: .continueInApp, userActivity: nil))
}
Run Code Online (Sandbox Code Playgroud)

它曾经用于打开应用程序,但现在显示了一个新的 Siri 屏幕,上面会显示You'll need to continue in [App]并为您提供一个用于打开应用程序的按钮。

这是新行为吗??我错过了什么吗?谢谢!

beta swift intents-extension ios12

5
推荐指数
1
解决办法
251
查看次数

Siri 快捷方式:如何要求解锁手机

Siri 意图:是否可以要求用户在执行之前解锁 iPhone?我不希望 Intent 导致相应的 iOS 应用程序启动。

如果我取消选中“支持后台执行”框(如下所示),Siri 会要求解锁设备,但它也会启动应用程序,但我不希望这样。

在此输入图像描述

ios siri intents-extension sirishortcuts

5
推荐指数
1
解决办法
1509
查看次数

当我的核心数据存储已从后台扩展更新时,如何刷新我的 SwiftUI 视图?

我有一个带有意图扩展目标的 SwiftUI 应用程序。我还有一个位于共享应用程序组的核心数据存储。

Intents 扩展可以使用newBackgroundContext()Shortcuts 应用程序成功地将数据写入商店。我的 SwiftUI 应用程序可以从应用程序组中读取数据,viewContext但只有当我强制退出应用程序并重新打开它时。

我想我需要一种方法来让我的应用程序知道它已在不同的上下文中更新,但我不确定该怎么做?

我试过context.automaticallyMergesChangesFromParent = true在应用程序委托中设置并在 SwiftUI 视图中添加context.refreshAllObjects()onAppear但这似乎没有任何区别。

mergeChanges(fromContextDidSave:)似乎很有希望,但我不确定如何获取通知。

我是 Core Data 的新手并且很困惑,所以任何指向正确方向的指针都会很棒,谢谢!

这是我当前代码的消毒版本:

应用委托

 lazy var persistentContainer: NSCustomPersistentContainer = {
        let container = NSCustomPersistentContainer(name: "exampleContainerName")
        container.loadPersistentStores { description, error in
            if let error = error {
                print("error loading persistent core data store")
            }
        }
        return container
    }()

    func saveContext () {
        let context = persistentContainer.viewContext
        if context.hasChanges {
            do {
                try context.save() …
Run Code Online (Sandbox Code Playgroud)

core-data swift intents-extension swiftui

5
推荐指数
1
解决办法
2499
查看次数

SiriKit:IntentsDefinition 文件中定义的快捷方式未显示在 macOS 上的快捷方式应用程序中?

我无法将一些基本的 SiriKit 操作添加到 macOS Monterey 中的 macOS 应用程序中。为了测试这一点,我创建了一个新项目,使其成为带有 Storyboard 的 macOS 应用程序。然后我添加了一个意图定义文件,并添加了一个基本意图,没有输入/输出。我将意图名称添加到目标“常规”配置中的“支持的意图”中。

当我构建并运行应用程序时,快捷方式不会显示在 Apple Shortcuts 应用程序中。我尝试在“签名和功能”中查找“Siri”功能,但它没有列出(与新的 iOS 应用程序相比)。

我不确定我在这里缺少什么。希望得到一些帮助。

顺便说一句,我在 macOS Monterey RC 上使用 Xcode 13.1。

这就是我的自定义意图的样子。

在此输入图像描述

sirikit intents-extension sirishortcuts macos-monterey

5
推荐指数
1
解决办法
624
查看次数