Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Descubra como Utilizar Intents no Ambiente Apple com INSendMessageIntent

No ecossistema Apple, o desenvolvimento de aplicativos que interagem com o usuário por meio de comandos de voz ou sugestões proativas pode ser facilitado através do uso de Intents. O INSsendMessageIntent é uma parte do framework SiriKit, que permite que aplicativos de mensagens enviem mensagens usando a Siri. No entanto, é importante notar que INSsendMessageIntent é específico para o ambiente Apple e não pode ser executado diretamente via CMD ou em sistemas operacionais não Apple.


Exemplos:


1. Configurando o Projeto para Usar SiriKit:


Para começar a usar INSsendMessageIntent, você precisa configurar seu projeto para suportar SiriKit.


   import Intents

class IntentHandler: INExtension, INSendMessageIntentHandling {
override func handler(for intent: INIntent) -> Any {
return self
}

func resolveRecipients(for intent: INSendMessageIntent, with completion: @escaping ([INPersonResolutionResult]) -> Void) {
if let recipients = intent.recipients {
// Lógica para resolver os destinatários
completion(recipients.map { INPersonResolutionResult.success(with: $0) })
} else {
completion([INPersonResolutionResult.needsValue()])
}
}

func handle(intent: INSendMessageIntent, completion: @escaping (INSendMessageIntentResponse) -> Void) {
// Lógica para enviar a mensagem
let userActivity = NSUserActivity(activityType: NSStringFromClass(INSendMessageIntent.self))
let response = INSendMessageIntentResponse(code: .success, userActivity: userActivity)
completion(response)
}
}

2. Adicionando Suporte a Intents no Info.plist:


No arquivo Info.plist do seu projeto, você precisa declarar os Intents que seu aplicativo suporta.


   <key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>IntentsSupported</key>
<array>
<string>INSendMessageIntent</string>
</array>
</dict>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.intents-service</string>
</dict>

3. Testando o Intent:


Para testar o INSsendMessageIntent, você pode usar o simulador do iOS e a interface da Siri, ou criar casos de teste unitários que simulam o comportamento do Intent.


   import XCTest
import Intents

class IntentTests: XCTestCase {
func testSendMessageIntent() {
let intent = INSendMessageIntent(recipients: [INPerson(personHandle: INPersonHandle(value: "example@apple.com", type: .emailAddress))],
content: "Hello, this is a test message!",
speakableGroupName: nil,
conversationIdentifier: nil,
serviceName: nil,
sender: nil)

let handler = IntentHandler()
handler.handle(intent: intent) { response in
XCTAssertEqual(response.code, .success)
}
}
}

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.