捐赠的 INSendMessageIntent 未显示在共享扩展中

问题描述 投票:0回答:1

我正在尝试在我的应用程序的共享扩展中支持消息对话的共享建议。对话建议似乎出现在我的 iPad 上,但没有出现在我的 iPhone 或我测试过的其他几部 iPhone 上。该应用程序是一个通用应用程序。我按照Apple 文档中的说明进行操作。

  • 主应用程序 info.plist 包含适当的 NSUserActivityTypes:INSendMessageIntent
  • 共享扩展包含支持的 Intents:INSendMessageIntent
  • 捐赠意图的代码似乎工作正常,并且在完成块中没有报告任何错误。

即使使用最新版本的 xcode(版本 15.3 (15E204a))创建的新项目似乎也存在相同的问题。

主应用程序信息.plist enter image description here

分享扩展info.plist enter image description here

捐赠意向代码:

private func donateIntent(chatName: String, chatID: String, groupImage: INImage?) {
    let groupName = INSpeakableString(spokenPhrase: chatName)
    let intent = INSendMessageIntent(
        recipients: nil, outgoingMessageType: .outgoingMessageText, content: nil,
        speakableGroupName: groupName, conversationIdentifier: chatID, serviceName: nil, sender: nil,
        attachments: nil)

    if let groupImage = groupImage {
        intent.setImage(groupImage, forParameterNamed: \.speakableGroupName)
    }

    let interaction = INInteraction(intent: intent, response: nil)
    interaction.donate { error in
        if let error = error {
            print("Error donating intent: \(error)")
        } else {
            print("Successfully donated sendMessage intent.")
        }
    }
}
ios swift iphone xcode
1个回答
0
投票

我修改了你的代码。请尝试这个代码它对我有用。

private func donateIntent(chatName: String, chatID: String, groupImage: INImage?) {
    let groupName = INSpeakableString(spokenPhrase: chatName)
    let intent = INSendMessageIntent(
        recipients: nil, content: nil,
        speakableGroupName: groupName, conversationIdentifier: chatID, serviceName: nil, sender: nil,
        attachments: nil)

    if let groupImage = groupImage {
        intent.setImage(groupImage, forParameterNamed: \.speakableGroupName)
    }

    let interaction = INInteraction(intent: intent, response: nil)
    interaction.donate { error in
        if let error = error {
            print("Error donating intent: \(error)")
        } else {
            print("Successfully donated sendMessage intent.")
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.