2010-12-15 9 views
1

ユーザーがホームボタンを押したときにアプリを再起動するか、ユーザーの終了を許可しないでください。 これを行うにはどうすればよいですか?ユーザーがホームボタンからではなくアプリケーション内からアプリを終了しない限り、アプリはipadに残るはずです。もう一度ipadアプリを起動する

クラッシュしたり、アプリが正常に終了しないなどの理由がある場合は、アプリの終了を検討していますが、通常はユーザーがホームボタンを押してアプリを再起動する必要があります。

答えて

1

この動作は、App Storeでアプリが拒否されることを99%確実に示します。

ホームボタンが押されたときに、ユーザー(およびApple)がアプリケーションに期待する通常の動作は、を終了することです。。特別なボタン、過度のクラッシュなど、アプリを終了する他の手段は、それを拒否するためにフラグを立てます。

+0

"MenuPad"アプリはappleで拒否されていました。 – ashish

+0

...またはそれが残りの1%以内になる可能性があります –

+1

FYI、メニューパッドのキオスクモードはiOS 4.2.1では動作しませんので、Appleが間違いなく穴を差し込んだと思います。 –

4

これを行う方法はありません。とにかくひどいユーザーエクスペリエンスであり、そのようなものではありません。あなたはapplicationWillTerminateで唯一のiOS 3.2 のためにこれを行うことができます

+0

私は1つのアプリケーションでこの機能を見てきました。可能であれば、このアプリはその機能を持つべきではありません。 "メニューパッド"アプリ。 – ashish

+0

"MenuPad"をダウンロードしてホームボタンを押すと、アプリケーションが終了します。私はiOS 4.2でテストしました。彼らがホームボタンがアプリを終了することを妨げたなら、彼らはアプリストアにいないであろう。 Appleはこのアプリを拒否しただろう。 – Jasarien

+0

また、「閉じたときに再起動する」オプションは、iOS 4.2にも影響しません。これが可能であったということは明らかにAppleによってバグとみなされ、修正されました。 – Jasarien

0

は、あなたが道あなたのURLスキーマ

<key>CFBundleURLTypes</key> 
    <array> 
     <dict> 
      <key>CFBundleURLSchemes</key> 
      <array> 
       <string>yourAppSchema</string> 
      </array> 
      <key>CFBundleURLName</key> 
      <string>com.yourCompany.yourAppSchema</string> 
     </dict> 
    </array> 

をサポートするために、あなたのアプリのあなたのInfo.plistを更新する必要がまず

NSString *UrlString = [NSString stringWithString: @"yourAppSchema:"]; 
    [application openURL:[NSURL URLWithString:[UrlString stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]]]; 

を行いますあなたのiPadをThis のようなものに置くことです。これもまたthreadと読んでください。

+0

ユーザーがホームボタンを押すと、このデリゲートは - (void)applicationDidEnterBackground:(UIApplication *)application と呼ばれます。ここでurlの起動はアクティブ状態にならない限りアプリケーションを再起動しません。 - (void)applicationWillTerminate:(UIApplication *)アプリケーション。これは、ユーザーがDockからアプリケーションを削除した場合にのみ呼び出されます。 – ashish

+0

そして、このデリゲートであなたのアプリを再び開きます。これがこれを行う唯一の方法です。ホームボタンを無効にする方法は他にありません。私はアップルにバグを投稿しました。そして、それは "これ以上の調査の結果、これは現在知られている問題であり、現在エンジニアリングによって調査されています。 –

+0

でも、私たちがカスタムURLを - (void)applicationWillTerminate:(UIApplication *)アプリケーションに書いても、実行されることはありません。その理由は何か。私のurlスキームは既に設定されているので、私はサファリアプリでそれを開くことでチェックしました - ashish 6分前 – ashish

関連する問題