Pular para o conteúdo principal

Questão de Arquitetura de Software — Usabilidade — FGV 2024

Arquitetura de SoftwareUsabilidade
Código
fg098516
Banca
FGV
Órgão
TJ-MS
Ano
2024
Nível
Superior
Cargo
Técnico de Nível Superior - Analista de Sistemas Computacionais - Analista de Sistemas
O analista José desenvolveu a versão para iOS do aplicativo JustNotifica. Mediante o uso do recurso Universal Link do iOS, ele implementou o caso de uso no qual o JustNotifica é acionado por outros aplicativos de forma direta.Ao ser acionado por meio de um Universal Link, o JustNotifica deve receber do iOS um objeto do tipo:
  1. AUIApplication;
  2. BNSUserActivity;
  3. CNSURLQueryItem;
  4. DNSURLComponents;
  5. EUIUserActivityRestoring.
Revelar gabarito e comentário

GabaritoB — NSUserActivity;

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Universal Links no iOS – Objeto Recebido

Gabarito: letra B. Quando um aplicativo iOS é acionado por um Universal Link, o sistema operacional entrega um objeto do tipo NSUserActivity ao método application:continueUserActivity:restorationHandler: do UIApplicationDelegate. É por meio desse objeto que o app recebe os dados do link e decide como tratá-lo.

A questão testa o conhecimento específico do mecanismo de Universal Links, introduzido pela Apple para substituir os esquemas de URL customizados (URL Scheme). O fluxo padrão é: o iOS intercepta o link, verifica o arquivo apple-app-site-association e, se válido, chama o delegate passando uma NSUserActivity com activityType igual a NSUserActivityTypeBrowsingWeb.

  1. 1Usuário toca no link
  2. 2iOS verifica apple-app-site-association
  3. 3Se válido, chama o delegate
  4. 4Recebe NSUserActivity
  5. 5Acessa webpageURL
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

UIApplication é a classe que representa o aplicativo em si, não o objeto recebido no acionamento por Universal Link. Ela é o singleton usado para controlar o ciclo de vida e não contém os dados do link.

Alternativa B — ✅ Correta ⟵ GABARITO

NSUserActivity é o objeto correto. No método application:continueUserActivity:restorationHandler:, o parâmetro userActivity é do tipo NSUserActivity, e a URL do Universal Link é acessada pela propriedade webpageURL dessa atividade.

Alternativa C — ❌ Incorreta

NSURLQueryItem representa um parâmetro individual de uma query string (ex.: ?id=123). Ele não é o objeto recebido; faz parte da decomposição de uma URL, mas não é entregue diretamente pelo sistema no acionamento do link.

Alternativa D — ❌ Incorreta

NSURLComponents é uma classe utilitária para parsear e construir URLs. Também não é o objeto passado ao delegate; é algo que se pode usar para processar a URL contida na NSUserActivity.

Alternativa E — ❌ Incorreta

UIUserActivityRestoring é um protocolo (não uma classe concreta) que objetos podem implementar para restaurar o estado a partir de uma atividade do usuário. Não é o tipo do objeto recebido no acionamento do Universal Link.

PEGA ESSA DICA!

Lembre-se do método do delegate: application:continueUserActivity:restorationHandler:. O nome do parâmetro já entrega o tipo (userActivity). Se a alternativa falar em NSURL ou NSURLComponents, desconfie: o iOS entrega NSUserActivity, e a URL está dentro dela.

Gabarito: letra B (NSUserActivity).

Link permanente: /questoes/fg098516