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.