UIWebView
コンポーネントを備えたネイティブiPhoneアプリがあります。Safariのタブバーオプションにある[ホーム画面に追加]ボタンを複製できるかどうかを確認しようとしています。
UIWebView
これはネイティブアプリ内で可能ですか?
ありがとう!ブレット
UIWebView
コンポーネントを備えたネイティブiPhoneアプリがあります。Safariのタブバーオプションにある[ホーム画面に追加]ボタンを複製できるかどうかを確認しようとしています。
UIWebView
これはネイティブアプリ内で可能ですか?
ありがとう!ブレット
[あなたの質問は、ボタン自体の外観を複製するのではなく、ホーム画面に追加することに関連するアクションを複製することに関するものだと思います(これはあなたが実際に書いたものです)。
他の人が言ったように、これは不可能です。
あなたができることは、プログラムでアプリ内から Safari を起動し、ロードするページの URL (あなたのページ) を与えることです。
ページが読み込まれると、ある種のアニメーションが表示され、ユーザーにホーム画面に追加ボタンがある場所が表示され、Web ページに表示されるリンクをクリックした後にそれを押すように指示されます。ユーザーがリンクをクリックすると、デスクトップに保存したいページに移動し、ユーザーがあなたの指示に従ってくれることを願っています。
独自の URL スキームを処理するようにアプリを登録すると、ユーザーは、アプリの URL スキームを使用してリンクをクリックすることで、Safari 内からアプリに戻ることができます。
ただし、Safari にシードする Web ページはリモート ページである必要があります。Safari にアプリのバンドル内のページを提供したり、Safari がアプリのサンドボックスからページを読み取ることができないため、アプリがダウンロードしたページを提供したりすることはできません。
簡単に言えば、いいえ、できません。Appleはあなたを許しません。
他の可能性を考え出すのに役立つかもしれない同様の質問があります: iPhoneの「ホーム画面に追加」するためのJavascript?
頭のてっぺんから回避策を考えなければならない場合は、その方法を指示する JavaScript ポップアップを作成できます。このボタンをタップしてモバイル サファリに移動し、アクションをタップ -> ホーム画面に追加などのように言うことができます。
UIWebView のメソッドで Javascript を実行します。
- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script
お役に立てれば。
アクティビティ項目としてあなたの URL で UIActivityViewController を使用できます
NSArray *activityItems = @[title, url];
そして、不要なアクティビティを除外できます。それが今のところ唯一の方法だと思います。