Invoke programmatically iOS App Extensions












7















After reading on Apple documentation and checking on stackoverflow, I could not completely understand if it is possible or not to invoke programmatically an specific app extension of type "Action" or "Share".



Mainly, I have built an app extension of type "Action" and I'd like to invoke it programmatically from a second app (so I can send some input attributes and get the output from the extension) without having to open the UIActivityViewController.



Is there any way to do it?










share|improve this question





























    7















    After reading on Apple documentation and checking on stackoverflow, I could not completely understand if it is possible or not to invoke programmatically an specific app extension of type "Action" or "Share".



    Mainly, I have built an app extension of type "Action" and I'd like to invoke it programmatically from a second app (so I can send some input attributes and get the output from the extension) without having to open the UIActivityViewController.



    Is there any way to do it?










    share|improve this question



























      7












      7








      7


      1






      After reading on Apple documentation and checking on stackoverflow, I could not completely understand if it is possible or not to invoke programmatically an specific app extension of type "Action" or "Share".



      Mainly, I have built an app extension of type "Action" and I'd like to invoke it programmatically from a second app (so I can send some input attributes and get the output from the extension) without having to open the UIActivityViewController.



      Is there any way to do it?










      share|improve this question
















      After reading on Apple documentation and checking on stackoverflow, I could not completely understand if it is possible or not to invoke programmatically an specific app extension of type "Action" or "Share".



      Mainly, I have built an app extension of type "Action" and I'd like to invoke it programmatically from a second app (so I can send some input attributes and get the output from the extension) without having to open the UIActivityViewController.



      Is there any way to do it?







      ios action ios-app-extension






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Dec 29 '18 at 2:24









      Cœur

      17.6k9105145




      17.6k9105145










      asked Apr 9 '15 at 10:20









      vilanovivilanovi

      1,62011523




      1,62011523
























          1 Answer
          1






          active

          oldest

          votes


















          1














          Not exactly. The way to invoke other action in other app is to use custom URL Scheme as mentioned in the Apple docs - https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple_ref/doc/uid/TP40007072-CH6-SW8



          You can than pass some arguments as mentioned in the docs, and in your other app you'll need to parse the URL and act according to those parameters.






          share|improve this answer


























          • However, using this approach of the URL Scheme, I cannot pass files for example, only "URL arguments". In my case I want to pass a PDF file and get as callback another PDF file. Using App Extensions this is very easy as there are a list of "input" parameters and a list of "output" parameters. However using the URL scheme approach it is not. That's why I was wondering on invoking the ios-app-extension programmatically.

            – vilanovi
            Apr 9 '15 at 10:38











          • You can have a shared storage for both apps and save the pdf there, and than just pass it's name as parameter. Will this work for you?

            – Asaf
            Apr 9 '15 at 10:43











          • Well, not really, as my "extension" is supposed to work with all apps, not only with mine. Therefore I cannot setup a shared storage. :/

            – vilanovi
            Apr 9 '15 at 14:37











          • @vilanovi - You could convert the PDF to a Base64 string and pass it back and forth.

            – xMythicx
            Aug 1 '17 at 14:04













          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f29535831%2finvoke-programmatically-ios-app-extensions%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          1














          Not exactly. The way to invoke other action in other app is to use custom URL Scheme as mentioned in the Apple docs - https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple_ref/doc/uid/TP40007072-CH6-SW8



          You can than pass some arguments as mentioned in the docs, and in your other app you'll need to parse the URL and act according to those parameters.






          share|improve this answer


























          • However, using this approach of the URL Scheme, I cannot pass files for example, only "URL arguments". In my case I want to pass a PDF file and get as callback another PDF file. Using App Extensions this is very easy as there are a list of "input" parameters and a list of "output" parameters. However using the URL scheme approach it is not. That's why I was wondering on invoking the ios-app-extension programmatically.

            – vilanovi
            Apr 9 '15 at 10:38











          • You can have a shared storage for both apps and save the pdf there, and than just pass it's name as parameter. Will this work for you?

            – Asaf
            Apr 9 '15 at 10:43











          • Well, not really, as my "extension" is supposed to work with all apps, not only with mine. Therefore I cannot setup a shared storage. :/

            – vilanovi
            Apr 9 '15 at 14:37











          • @vilanovi - You could convert the PDF to a Base64 string and pass it back and forth.

            – xMythicx
            Aug 1 '17 at 14:04


















          1














          Not exactly. The way to invoke other action in other app is to use custom URL Scheme as mentioned in the Apple docs - https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple_ref/doc/uid/TP40007072-CH6-SW8



          You can than pass some arguments as mentioned in the docs, and in your other app you'll need to parse the URL and act according to those parameters.






          share|improve this answer


























          • However, using this approach of the URL Scheme, I cannot pass files for example, only "URL arguments". In my case I want to pass a PDF file and get as callback another PDF file. Using App Extensions this is very easy as there are a list of "input" parameters and a list of "output" parameters. However using the URL scheme approach it is not. That's why I was wondering on invoking the ios-app-extension programmatically.

            – vilanovi
            Apr 9 '15 at 10:38











          • You can have a shared storage for both apps and save the pdf there, and than just pass it's name as parameter. Will this work for you?

            – Asaf
            Apr 9 '15 at 10:43











          • Well, not really, as my "extension" is supposed to work with all apps, not only with mine. Therefore I cannot setup a shared storage. :/

            – vilanovi
            Apr 9 '15 at 14:37











          • @vilanovi - You could convert the PDF to a Base64 string and pass it back and forth.

            – xMythicx
            Aug 1 '17 at 14:04
















          1












          1








          1







          Not exactly. The way to invoke other action in other app is to use custom URL Scheme as mentioned in the Apple docs - https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple_ref/doc/uid/TP40007072-CH6-SW8



          You can than pass some arguments as mentioned in the docs, and in your other app you'll need to parse the URL and act according to those parameters.






          share|improve this answer















          Not exactly. The way to invoke other action in other app is to use custom URL Scheme as mentioned in the Apple docs - https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple_ref/doc/uid/TP40007072-CH6-SW8



          You can than pass some arguments as mentioned in the docs, and in your other app you'll need to parse the URL and act according to those parameters.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Dec 29 '18 at 2:25









          Cœur

          17.6k9105145




          17.6k9105145










          answered Apr 9 '15 at 10:32









          AsafAsaf

          1,68011831




          1,68011831













          • However, using this approach of the URL Scheme, I cannot pass files for example, only "URL arguments". In my case I want to pass a PDF file and get as callback another PDF file. Using App Extensions this is very easy as there are a list of "input" parameters and a list of "output" parameters. However using the URL scheme approach it is not. That's why I was wondering on invoking the ios-app-extension programmatically.

            – vilanovi
            Apr 9 '15 at 10:38











          • You can have a shared storage for both apps and save the pdf there, and than just pass it's name as parameter. Will this work for you?

            – Asaf
            Apr 9 '15 at 10:43











          • Well, not really, as my "extension" is supposed to work with all apps, not only with mine. Therefore I cannot setup a shared storage. :/

            – vilanovi
            Apr 9 '15 at 14:37











          • @vilanovi - You could convert the PDF to a Base64 string and pass it back and forth.

            – xMythicx
            Aug 1 '17 at 14:04





















          • However, using this approach of the URL Scheme, I cannot pass files for example, only "URL arguments". In my case I want to pass a PDF file and get as callback another PDF file. Using App Extensions this is very easy as there are a list of "input" parameters and a list of "output" parameters. However using the URL scheme approach it is not. That's why I was wondering on invoking the ios-app-extension programmatically.

            – vilanovi
            Apr 9 '15 at 10:38











          • You can have a shared storage for both apps and save the pdf there, and than just pass it's name as parameter. Will this work for you?

            – Asaf
            Apr 9 '15 at 10:43











          • Well, not really, as my "extension" is supposed to work with all apps, not only with mine. Therefore I cannot setup a shared storage. :/

            – vilanovi
            Apr 9 '15 at 14:37











          • @vilanovi - You could convert the PDF to a Base64 string and pass it back and forth.

            – xMythicx
            Aug 1 '17 at 14:04



















          However, using this approach of the URL Scheme, I cannot pass files for example, only "URL arguments". In my case I want to pass a PDF file and get as callback another PDF file. Using App Extensions this is very easy as there are a list of "input" parameters and a list of "output" parameters. However using the URL scheme approach it is not. That's why I was wondering on invoking the ios-app-extension programmatically.

          – vilanovi
          Apr 9 '15 at 10:38





          However, using this approach of the URL Scheme, I cannot pass files for example, only "URL arguments". In my case I want to pass a PDF file and get as callback another PDF file. Using App Extensions this is very easy as there are a list of "input" parameters and a list of "output" parameters. However using the URL scheme approach it is not. That's why I was wondering on invoking the ios-app-extension programmatically.

          – vilanovi
          Apr 9 '15 at 10:38













          You can have a shared storage for both apps and save the pdf there, and than just pass it's name as parameter. Will this work for you?

          – Asaf
          Apr 9 '15 at 10:43





          You can have a shared storage for both apps and save the pdf there, and than just pass it's name as parameter. Will this work for you?

          – Asaf
          Apr 9 '15 at 10:43













          Well, not really, as my "extension" is supposed to work with all apps, not only with mine. Therefore I cannot setup a shared storage. :/

          – vilanovi
          Apr 9 '15 at 14:37





          Well, not really, as my "extension" is supposed to work with all apps, not only with mine. Therefore I cannot setup a shared storage. :/

          – vilanovi
          Apr 9 '15 at 14:37













          @vilanovi - You could convert the PDF to a Base64 string and pass it back and forth.

          – xMythicx
          Aug 1 '17 at 14:04







          @vilanovi - You could convert the PDF to a Base64 string and pass it back and forth.

          – xMythicx
          Aug 1 '17 at 14:04




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f29535831%2finvoke-programmatically-ios-app-extensions%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Monofisismo

          Angular Downloading a file using contenturl with Basic Authentication

          Olmecas