Questão nº 37
Questão de Tecnologia da Informação · FGV TJ-MS 2024 (nº 37)
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:
- AUIApplication;
- BNSUserActivity; (alternativa correta)
- CNSURLQueryItem;
- DNSURLComponents;
- EUIUserActivityRestoring.
Resposta comentada
Gabarito Alternativa B
Universal Links no iOS permitem que um link da web abra diretamente um aplicativo instalado, em vez de um navegador. Quando isso acontece, o iOS precisa informar ao aplicativo qual link o ativou, e ele faz isso através de um objeto específico.
- (A) Incorreta:
UIApplicationé o objeto singleton central que gerencia o ciclo de vida e o comportamento geral do aplicativo. Embora ele seja o ponto de entrada para muitos eventos, ele não é o objeto que carrega os dados específicos do Universal Link. - (B) Correta: Ao ser acionado por um Universal Link, o iOS invoca um método delegado do aplicativo (como
application(_:continue:restorationHandler:)ouscene(_:continue:)para Scene-based apps) e passa um objeto do tipoNSUserActivity. Este objeto contém a propriedadewebpageURL, que é o Universal Link que abriu o aplicativo.NSUserActivityé um mecanismo mais amplo para continuar atividades do usuário, e Universal Links são um tipo de atividade que se encaixa nesse modelo. - (C) Incorreta:
NSURLQueryItemrepresenta um único par chave-valor dentro da parte de consulta (query string) de uma URL. Embora um Universal Link possa conter váriosNSURLQueryItems, ele não é o objeto principal que o iOS entrega ao aplicativo; é apenas um componente de uma URL. - (D) Incorreta:
NSURLComponentsé uma classe utilitária usada para analisar (parsear) e construir URLs, dividindo-as em seus componentes (esquema, host, caminho, parâmetros de consulta, etc.). A armadilha aqui é que, como Universal Links são URLs, pode-se pensar que o iOS entregaria um objeto já "parseado" da URL. No entanto, o iOS entrega a URL dentro de umNSUserActivity, e o desenvolvedor pode usarNSURLComponentsposteriormente para analisar awebpageURLcontida noNSUserActivity, se necessário. MasNSURLComponentsnão é o objeto que o iOS entrega diretamente. - (E) Incorreta:
UIUserActivityRestoringé um protocolo que define métodos para restaurar o estado de uma atividade do usuário. Não é um objeto que carrega dados de um Universal Link, mas sim um contrato para objetos que podem participar da restauração de atividades.
Fonte: FGV TJ-MS 2024 Técnico de Nível Superior - Analista de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.