5

我正在开发一个管理我自己的 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但我无法通过应用程序包 ID 启动应用程序。我可以吗?

我也尝试过未记录launchApplicationWithIdentifier:UIApplication,但我需要一个真正的解决方案,而且似乎解决方法只适用于模拟器。

有任何想法吗?谢谢!

4

1 回答 1

2

唯一的方法是让两个应用程序都支持自定义 URL 方案。然后将调用方 URL 嵌入到其他应用程序的 URL 中。

例如,假设 App2 想要以某种方式调用 App1,以便 App1 可以“回调”到 App2。它将创建并打开这样的 URL:

app1://?caller=app2%3A%2F%2Fblabla

当您解码该caller部分时,您将取回字符串app2://blabla,然后您可以再次打开该字符串openURL:以“回调”。

于 2012-01-26T18:13:13.577 回答