6

を使用して、アプリケーションからアプリケーションを開くことは可能ですかbundle identifier。デバイス 1 に と の 2 つのアプリがインストールされているcom.test.app1としcom.test.app2ます。app2 から app1 を開くことはできますか?

openUrl メソッドについては知っています。そのためには、info.plist に URL スキームを登録する必要があります。そして、次の方法を使用できます:

[[UIApplication sharedApplication] openUrl:[NSURL urlWithString:@"myApp1://"]];

しかし、URL スキームを登録していなかったり、登録した URL がわからない場合はどうすればよいでしょうか。

何か案が..?

4

6 に答える 6

12

プライベート API を使用してそれを行うことができます

Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace");
NSObject * workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWorkspace)];
BOOL isopen = [workspace performSelector:@selector(openApplicationWithBundleID:) withObject:@"com.apple.mobilesafari"];
于 2016-06-01T01:19:55.107 に答える
4

呼び出しを使用できますopenUrlが、成功するには、プロジェクトのxy-Info.plistファイルにいくつかの値を追加する必要があります。

ここに画像の説明を入力してください

それが済んだら、次の電話をかけることができます。

[[UIApplication sharedApplication] openUrl:[NSURL urlWithString:@"xingipad://"]];

于 2013-02-07T20:35:02.987 に答える
0

回答: バンドル ID のみを使用してアプリを直接開くことはできません。

解決策: ディープ リンクを実装する (そして、バンドル ID をディープ リンク ID として使用する) 概念を実装して、これを行うことができます

于 2018-05-24T04:47:34.887 に答える
-1

URL スキームを使用して可能です。

于 2012-08-06T10:15:55.483 に答える