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 に埋め込みます。

たとえば、App1 が App2 に「コールバック」できるように、App2 が App1 を呼び出したいとします。次のような URL を作成して開きます。

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

部分をデコードすると、「コールバック」するために再び開くことができるcaller文字列が返されます。app2://blablaopenURL:

于 2012-01-26T18:13:13.577 に答える