{"id":686,"date":"2020-04-13T09:00:24","date_gmt":"2020-04-13T07:00:24","guid":{"rendered":"http:\/\/programaraciegas.net\/?p=686"},"modified":"2020-04-10T10:36:08","modified_gmt":"2020-04-10T08:36:08","slug":"como-abrir-una-aplicacion-de-macos-desde-un-script-en-swift","status":"publish","type":"post","link":"https:\/\/programaraciegas.net\/?p=686","title":{"rendered":"C\u00f3mo abrir una aplicaci\u00f3n de MacOS desde un script en Swift"},"content":{"rendered":"<p>Como pudimos aprender en el art\u00edculo sobre <a href=\"http:\/\/www.tyflosaccessiblesoftware.com\/programaraciegas\/?p=616\">Ejecutar scripts de Swift desde la terminal de MacOS<\/a> podemos crear peque\u00f1os programas que realicen operaciones para nosotros.<\/p>\n<p>En este art\u00edculo aprenderemos a abrir aplicaciones desde nuestro script en <strong>Swift<\/strong><\/p>\n<p><!--more--><\/p>\n<h2>Abriendo TextEdit desde nuestro script<\/h2>\n<p>Siguiendo las instrucciones del articulo antes mencionado debemos crear un fichero al que por ejemplo llamaremos <em>abreTextEdit.swift<\/em> y al editarlo escribiremos el siguiente c\u00f3digo:<\/p>\n<p><code><\/p>\n<pre>\r\nimport Cocoa\r\n\r\nvar  myWorkspace = NSWorkspace.shared\r\nmyWorkspace.launchApplication(\"TextEdit\")\r\n<\/pre>\n<p><\/code><\/p>\n<p>Ahora veremos cada una de las l\u00edneas de c\u00f3digo en detalle.<\/p>\n<p>Con <code>import Cocoa<\/code> le decimos a nuestro script que se prepare para utilizar las librer\u00edas propias de aplicaciones MacOS.<\/p>\n<p>Con la l\u00ednea <code>var  myWorkspace = NSWorkspace.shared<\/code> creamos una variable llamada <strong>myWorkspace<\/strong> donde almacenaremos un espacio de ejecuci\u00f3n propio para una aplicaci\u00f3n de MacOS. Esto nos permitir\u00e1 realizar ciertas operaciones propias de una aplicaci\u00f3n nativa de MacOS.<\/p>\n<p>Por \u00faltimo con la l\u00ednea de c\u00f3digo <code>myWorkspace.launchApplication(\"TextEdit\")<\/code> llamamos a la funci\u00f3n <strong>launchApplication<\/strong> de nuestro espacio de ejecuci\u00f3n que nos permite arrancar otras aplicaciones y procesos en el sistema<\/p>\n<p>Con todo esto ya podemos crear nuestras funciones y scripts para abrir otras aplicaciones.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Como pudimos aprender en el art\u00edculo sobre Ejecutar scripts de Swift desde la terminal de MacOS podemos crear peque\u00f1os programas que realicen operaciones para nosotros. En este art\u00edculo aprenderemos a abrir aplicaciones desde nuestro script en Swift<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[38,6,258],"tags":[263,82,259],"class_list":["post-686","post","type-post","status-publish","format-standard","hentry","category-macos-x","category-programacion","category-swift","tag-macos","tag-script","tag-swift"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts\/686","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=686"}],"version-history":[{"count":0,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts\/686\/revisions"}],"wp:attachment":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=686"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=686"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=686"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}