Invoke programmatically iOS App Extensions
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
add a comment |
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
add a comment |
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
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
ios action ios-app-extension
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
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
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.
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
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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.
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
add a comment |
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.
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
add a comment |
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.
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.
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
add a comment |
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
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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