我正在开发一个管理我自己的URL方案的应用程序,所以我实现了回调:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions (NSDictionary *)launchOptions
{
// Get our launch URL
if (launchOptions != nil)
{
// Launch dictionary has data
NSURL* launchURL = [launchOptions objectForKey: UIApplicationLaunchOptionsURLKey];
// Parse the URL
NSString* hostString = [launchURL host];
blah blah blah...
它工作得非常好,但我需要启动调用者应用程序(即打开URL的应用程序)。所以我的问题是,有可能吗?
我一直在玩UIApplicationLaunchOptionsSourceApplicationKey
但我无法通过其应用程序Bundle ID启动应用程序。我可以吗?
我还尝试了launchApplicationWithIdentifier:
UIApplication
的未记录文件,但我需要一个真正的解决方案,似乎解决方法只适用于模拟器。
有什么想法吗?谢谢!
答案 0 :(得分:2)
唯一的方法是让两个应用程序都支持自定义URL方案。然后将调用者URL嵌入到另一个应用程序的URL中。
例如,假设App2想以某种方式调用App1,以便App1可以“回调”到App2。它会创建并打开一个这样的URL:
app1://?caller=app2%3A%2F%2Fblabla
当您解码caller
部分时,您会收到字符串app2://blabla
,然后您可以再次打开openURL:
以“回拨”。