2011-01-25 5 views
0

iPhoneアプリケーションを開発します。iPhoneアプリケーションを起動するのに役立ちます

私は、ユーザーがボタンをクリックしたときに別のiPhoneアプリを実行する必要があります。

別のiPhoneアプリからiPhoneアプリを実行することはできますか?

可能であれば、私にあなたの入力をお知らせください。

ありがとうございました。

答えて

4

[私はクリックを嫌うためhereを与えた前の回答のコピーと貼り付け]

あなたがiOS版に組み込まれているURLスキームを使用することができます。 openURL:方法は、あなたが任意のアプリケーションを呼び出すことができますどのシングルトンのUIApplicationインスタンスのインスタンスメソッド、あるhttp URLスキーム

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.google.com/"]] 

を扱うアプリケーションとして登録されているためたとえば、URLでサファリを呼び出すことができますインストールされていて、何らかの種類の入力データを処理する能力をplistに登録しています。はい...返信用

if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"cydia://"]]) 
{ 
    NSLog(@"cydia installed"); 
} 
else 
{ 
    NSLog(@"cydia not installed"); 
} 
+0

私のシミュレータには私のsampleAppがありますが、私は上記のコードを実行すると、常にこのエラーは起こりませんでした。 – user198725878

+0

上記のコードの 'cydia://'をテストするアプリに変更する必要があります。 Safariがインストールされているかどうかを確認するには、「http://」に変更します。 –

+0

IF([のUIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@ "のMyApp:// sampleApp"]]) \t \t \t { \t \t \t \tのNSLog(@ "Cydiaのがインストール")。 \t \t \t \t NSString * stringURL = @ "myapp:// sampleApp"; \t \t \t \t NSURL * url = [NSURL URLWithString:stringURL]; \t \t \t \t [[UIApplication sharedApplication] openURL:url]; \t \t \t} \t \t他 \t \t \t {\t \t \t \t \tのNSLog(@ "Cydiaのがインストールされていません")。 \t \t \t}これはインストールされていることを示していますが、そのアプリケーションを開くことはありません。 plsは私を助ける。 – user198725878

1

他のアプリが既にインストールされて実行されていて、カスタムURLハンドラをOSに登録するように設計されている場合のみ。

あなたのアプリは、そのカスタムURLスキームを使用してアプリケーションを実行できます。

+0

おかげで他のアプリ:

Here's a list of common url schemes in iOS.

デバイス上の別のアプリケーションの存在を検出するためにほとんど知られていない方法は、同じシングルトンインスタンス上canOpenURL:を使用することですあなたが私にそれができる方法のコードを表示することができます。 – user198725878

+0

アプリの登録されたカスタムURLスキームが分かりますか? – hotpaw2

1

アプリにカスタムURLスキーマがあり、それが何であるかわかっている場合は、別のアプリのフォームを起動することができます。

1

ユーザーがボタンを押すと、現在のアプリが新しいアプリを閉じて、実行します。..

いや...その可能..しかし、あなたは他のアプリの「短いリンクを」知っている必要があります..私が試しましたhttp://www.idev101.com/code/Objective-C/custom_url_schemes.html

が、それはあなたが望むものを達成することができます願っています:それは前にも成功した。ここ

がリンクだ

URLスキームと呼ばれるその

..フルバージョンへのliteのバージョンからデータを転送します..

関連する問題