.-- --

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 comment(-) trackback(-)
.08 2009

アプリの再起動(詳細)

Tasaki です。

今回は、前回掲載した情報をより具体的に紹介したいと思います。

まず、URL スキームの登録についてですが、
このために情報プロパティリストを編集します。

まず、URL types の行を追加します。

InfoPlist_URLType.png


次に追加した URL types を開き Item 1 を選択し、
URL schemes の行を追加します。

URLType_URL schemes


後は、URL schemes の Item 1 にアプリの起動コードとなる
URLスキームを定義し(ここでは、customesheme としています)、
合わせて、URL identifier を逆ドメイン形式で定義しておきます。

URLType_Example.png

スキームの登録は以上で完了しました。

次の別アプリの呼び出しはいいとして、
自分自身を呼び出すコードの配置についてですが、
これはどこでもいいわけではないようで、
アプリ終了前に呼ばれる、-( void ) applicationWillTerminate: の中で
呼び出すと上手くいきます。

アプリケーションデリゲートで必要なコードは、このようになります。

- ( BOOL ) application:( UIApplication *) application handleOpenURL:( NSURL *) url {
 return YES;
}

- ( void ) applicationWillTerminate:( UIApplication *) application {
NSString *urlString = @"customscheme:";
 [ application openURL:[ NSURL URLWithString: urlString ];
}


これで全て終わりました。
ただし、お分かりだと思いますが、
このままだとホームボタンを押してもアプリが
必ず再起動してしまいますので、
何らかの脱出条件は用意しておく必要があります。

また、別のアプリを呼び出した後で、
そのアプリがスリープ状態に入ろうとすると
完全に挙動がおかしくなってしまいます。

やはり、正式に保証されている方法ではないから
ということでしょうか。

これを解決する方法を調べていたんですが、
今のところ分かっていません。
(脱獄すれば、こんな面倒なことしなくてもいいんでしょうけど)
もし、ご存知の方がいらしたら、ぜひ教えてください!


関連記事
スポンサーサイト

Comment

セブン
はじめまして、東京(出身は福岡)のセブンと申します。

openURLについて検索していたらこのページに行き当たりました。

開発中のアプリのページからUIApplicationのopenURLを使って電話をかけるようにしているのですが、電話が終わったら
連絡先のページに飛んで、呼び元の自分のアプリのページに戻りません。
US/Jpでサイト中調べてますが未だ解決策が見つかってません。

良い情報があればご連絡ください。
よろしくお願いします。
2010.02.03 16:38
Tasaki
To:セブンさん

残念ながら、openURL:で別アプリを開いた場合は、アプリ自身は終了してしまい、その後の挙動を制御することはできません。

電話の場合は、通話終了ボタンを押すことで、直前に起動していたアプリが再度呼び出されますが、これも約束されているわけではありません。

iPhoneの特性と思ってあきらめるか、脱獄するか、現状ではこの2つの選択肢しかないようです…
2010.02.05 15:08

Post comment

  • comment
  • secret
  • 管理者にだけ表示を許可する

Trackback

trackbackURL:http://appteam.blog114.fc2.com/tb.php/32-f21e0aed

ブログ内検索

関連リンク

製品情報

最新記事

カテゴリ

プロフィール

neoxneo



NEXT-SYSTEM iOS Developers Blog


  • UTO:
    カナダ版iPhone4Sは、マナーモードでシャッター音がならない…


  • Ehara:
    ...


  • Hayate:
    ...


  • Tasaki:
    Developer登録完了...したのはいいけど


  • Ueda:
    ...



リンク

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。