2017-12-25 6 views
2

私はBURL Schemeを作成し、アプリケーションBからそれを呼び出すOpenURLを使用しているようAを通じてアプリBを開くことができる午前URL Schemeを使用して、2つのiOSアプリケーションを持っています。また、私はデータを渡すことができます。URLスキームiOS |オープンソースのアプリケーションProgrammtically

私が探しているのは、特定のイベントでアプリケーションAに戻る方法です。

BAについての詳細はsourceApplicationにありますが、戻す方法はありますか?

お互いに通信するための両方のアプリ用にURL Schemeを作成する必要がありますか?またはsourceApplicationを呼び出して戻ることができますか?

問題認証が行われたら、私はその権利私のアプリを呼び出すようにFacebook SDKをしたいが、私はFacebook SDKのInfo.plistに私のアプリschemeを登録していなかったので、私は私のアプリのためにURL Schemeを作成Facebook SDK,した場合の1

。どのように機能するのですか?

2号 私はシミュレータとデバイスの両方を試しました。私はcanOpenURLを呼び出す場合、それは私にエラー

-canOpenURL: failed for URL: "openb://" - error: "This app is not allowed to query for scheme openb"

を与えるしかし、私は直接UIApplication.shared.openを呼び出す場合は、アプリケーションを正常に起動します。

ここのリードは?

+0

別のURLスキームを使用してください。 – jcaron

+0

その場合、お互いに通信するために両方のアプリケーションに 'URL Scheme'を登録する必要がありますか? – Dipika

+0

はい、それぞれのアプリに対して1つのURLスキームがあり、互いに呼び出すことができます。 – jcaron

答えて

1

iOSアプリケーションを別のアプリケーションから呼び出す場合はiOSアプリURL Schemeです。 URLスキームを使用すると、定義したプロトコルを通じて他のアプリと通信できます。そのようなスキームを実装するアプリケーションと通信するには、適切にフォーマットされたURLを作成し、システムにそれを開くように依頼する必要があります。カスタムスキームのサポートを実装するには、スキームのサポートを宣言し、スキームを使用する着信URLを処理する必要があります。

How to move back or open sourceApplication?

これを達成するには、両方のアプリケーションに対してURL Schemeを作成する必要があります。

Issue 1 and 2

は、iOS 8の前に、誰もがこのURLがないため、アプリケーションを起動するためのopenURLそうならば存在しているかどうかをチェックするためcanOpenURLを使用していました。しかし、広告の目的などでユーザーのiPhone(すべてのアプリケーションがインストールされているもの)を追跡するために、それを使用する開発者/アプリはほとんどなかった。だから、AppleURL Scheme Whitelistというソリューションを思いついた。

ですから、あなたがURL Schemeをホワイトリストに登録する必要がcanOpenURL使用したい場合はそれによると、それ以外の場合はerror: This app is not allowed to query for schemeのようなエラーを通って、あなたが直接アプリケーションの使用openURLを開きたい場合はなります。

はい、SDKのログインフローが壊れましたが、意味があります。

詳細については、canOpenURL(_:)

関連する問題