PplWare Mobile

Programador usa um exploit para criar o jogo Pong na dock do macOS

                                    
                                

Este artigo tem mais de um ano


Autor: Vítor M.


  1. Filipe C says:

    Usa um exploit?? ou usa o NSDockTile?

    • Vítor M. says:

      Ele ainda não publicou o trabalho (pelo menos até ao momento), mas pelo que parece, ele usou uma “falha” no NSDockTile. Isto porque o NSDockTile permite a representação visual da app no seu ícone que aparece na dock. Ele conseguiu aliar a isso a ação, isto é, usar o rato para criar jogabilidade.

      • eurodoid says:

        és tu que estás a assumir que usou uma falha, mas há uma grande diferença entre falha na API e usar a API numa maneira diferente. Como exemplo a API possibilita a actualização do icon na Dock representando o conteúdo duma janela.

        • Vítor M. says:

          A API não diz que podes fazer o que foi feito. E repara como descrevi a palavra “falha”, como coloquei entre aspas, poderá ser o usar de outra forma utilizando uma possibilidade até agora não documentada.

          • eurodoid says:

            A API diz explicitamente que se pode actualizar o icon na Dock, é tudo uma questão de frequência de actualização e de vontade do programador.
            Aliás ainda me lembro do tempo do Steve Jobs em que ele apresentou a novidade de minimizar a janela dum filme para a Dock e o filme continuar a correr na dock. Mais tarde a aplicação do quicktime deixou de fazer isso, mas a API que permite isso no Dock continua a existir.

          • Vítor M. says:

            Mas daí a poderes usar o rato para interagir, não me parece que esteja descrito na API. Essa é a diferença que realça esta ação.

          • Raimundo Nonato says:

            Geralmente discordo dos Trolls, mas o FIlipe está correto. Nem mesmo usando “falha” entre aspas seria apropiado.

            https://developer.apple.com/documentation/appkit/nsdocktile

            A própria documentação fala: ” Draw the tile content yourself.

            If you decide to draw the tile content yourself, you must provide a custom content view to handle the drawing.”

            Ou seja, pode ser qualquer coisa, até mesmo um jogo.

            Eu reescreveria como: “Desenvolver faz jogo na dock do MacOS”

            Entretanto admito que nem eu teria clicado na notícia – HAHAHAHAHA

          • Vítor M. says:

            É a tua opinião, respeito, mas pelo que percebi, não está designado que pode ser colocado um jogo, mas sim uma miniatura da app. Basicamente ele foi mais além do que criar um ícone com a miniatura, ele deu-lhe ações que não estariam descrita na API, como usar o rato para controlar uma ação dentro do ícone. 😉

          • eurodoid says:

            Vítor M.,
            uma aplicação não se faz obrigatoriamente só com uma API, pode ser feita com dezenas de APIs. A interação com o rato não é nada do outro mundo, apenas requer a aplicação saber a posição do rato no ecrã e a posição do icon, não tem nada a ver com as APIs da Dock.

          • eurodoid says:

            Vítor M., até posso dizer mais. Olhando para o código doutra aplicação do mesmo autor, que tem comportamento semelhante (apesar de não ser um jogo), ele determina a posição do rato no ecrã via funções de acessibilidade do sistema, o que requer que o utilizador autorize o acesso da aplicação a essas funcionalidades.

          • Raimundo Nonato says:

            Vitor, com todo respeito, não é uma opinião. É um fato. Está na documentação. Talvez aches que é uma opinião porque não és programador. Compreensível, porém incorreto.

          • Vítor M. says:

            Pode ser, não acho que esteja, ora mostra na documentação onde está isso?

          • Raimundo Nonato says:

            Documentação:
            https://developer.apple.com/documentation/appkit/nsdocktile

            Trecho:
            “…you use the methods of the class to make the following customizations:

            – Badge the tile with a custom string.

            – Remove or show the application icon badge.

            – Draw the tile content yourself.

            If you decide to draw the tile content yourself, you must provide a custom content view to handle the drawing.”

            “Draw the tile content yourself” – ou seja, você pode renderizar a imagem que você quiser lá, inclusive, um jogo, por exemplo.

            “If you decide to draw the tile content yourself, you must provide a custom content view to handle the drawing.” – Nesse trecho a documentação deixa claro que você tem plenos poderes para renderizar o conteúdo que quiser.

          • Raimundo Nonato says:

            Só para deixar claro. A notícia não é irrelevante, eu diria o contrárrio, é interessante de ver e imaginar que alguém explorou essa possibilidade, embora as limitações de se jogar em um dock.

            Acredito que o calor da discussão foi provocado pelo criterioso olhar de quem procurou realmente ver um “exploit”, uma falha ou uso de API’s internas da Apple.

          • Vítor M. says:

            Mais um hack para usar algo para o qual a tecnologia não havia sido pensada.

  2. Jota says:

    O iOS está todo roto!

  3. Jonny says:

    Da para jogar MineCraft?

Deixe um comentário

O seu endereço de email não será publicado.

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. A administração deste site reserva-se, desde já, no direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.