19

I want to create app which have to launch another app and run some features in last.

I mean my app A call app B and run in B some method.

Can I do this?

I know that I want to use URL scheme, but can I run some method in another app?

Thanks!

Matrosov Oleksandr
  • 25,505
  • 44
  • 151
  • 277

2 Answers2

37

Yes you can achieve this using custom URL Schemes. See Communicating with Other Apps.

App B will need to register a custom URL Scheme which App A uses to launch B and pass it commands.

The following code fragment illustrates how one app can request the services of another app. “todolist” in this example is a hypothetical custom scheme registered by App B.

NSURL *myURL = [NSURL URLWithString:@"todolist://www.acme.com?Quarterly%20Report#200806231300"];
[[UIApplication sharedApplication] openURL:myURL];
TheCodeKing
  • 19,064
  • 3
  • 47
  • 70
  • The link is 404ed, it should be https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html – Quanlong Oct 23 '14 at 01:07
  • As per Apple Appstore review guidelines, this kind of app should be rejected. Reference: hhttps://developer.apple.com/app-store/review/guidelines/ Apps that install or launch other executable code will be rejected – Daisy Oct 30 '14 at 19:19
  • No this is part of the Apple API and is common place for cross app switching. It does not enable one app to install other or execute external code. Think of it as deep linking to other application and passing parameters, in the same way a url might on a website to link into another site. – TheCodeKing Oct 30 '14 at 22:39
-17

No..apple is very strict about this kind of thing. The ios sandbox designe doesn't allow this anyway.The only way i can think of doing this is to pop an alert view and ask the user very nicely to do it :) ....either that or call a server and do your method on that server but triggering methods from an app to another is a sure No-No. Hell...you can't even detect what apps the user has installed...

skytz
  • 2,201
  • 2
  • 18
  • 23