1

私はSinglePageApplication(JS + HTML)プロジェクトに取り組んでいます。 webappはiphoneのホーム画面に固定されています。 このアプリケーションは、このような登録カスタムスキームでバーコードをスキャンするために、「pic2shop」と呼ばれるネイティブアプリを呼び出す:iOsの「ホーム画面に固定」されたWebアプリケーションにリンクするにはどうすればいいですか?

window.uri=pic2shop://scan?callback=localhost:20001%3Feancode%3DEAN 

「pic2shop」が行われた場合には、コールバックパラメータでsupllied URIを呼び出します。 これは問題ありません。

これは、指定されたuriを呼び出すことによって、新しいサファリインスタンスがポップアップしてuriを開きます。私が見たいのは、すでに実行中のWebアプリケーションのインスタンスが再利用されているということです。何か案は?まったく可能ですか?

答えて

0

はい、「Safari View Controller」を使用できます。あなたのアプリがのWebViewコンテックスで、開きたい場合は、あなたがsheme上のparamsを送信CAND

https://library.launchkit.io/how-ios-9-s-safari-view-controller-could-completely-change-your-app-s-onboarding-experience-2bcf2305137f#.r1ac0b5c2

EDIT

//myScheme://params=1&param2=openWebView 
を そしてここではどのように偉大な例です。

電話を受ける連絡先:

-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)ur 
その後、

し、必要に応じてPARAM、およびオープンWebViewのを確認してください。

NSString *query = [url query]; 
NSArray *queryComponents = [query componentsSeparatedByString:@"&"]; 
param1=value 
NSArray *firstParam = [[queryComponents objectAtIndex:0] componentsSeparatedByString:@"="]; 
[firstParam objectAtIndex:0] 
[firstParam objectAtIndex:1] 
+0

は申し訳ありませんが、私は私の質問には非常に明確ではありませんでした。サードパーティのアプリケーションがURIを呼び出し、そのURIが私の固定されたWebアプリケーションを開くようにします。その場合、Safari Web Controllerは役に立ちますか? – Kai

+0

だから、ユーザーは第3のアプリのコンテキストにいますか?あなたはあなたのアプリをwebViewで開きたいのですか?だからあなたはSchemeにparamsを渡すことを探していますか? – MCMatan

+0

フローは次のようになります。 1.ユーザーは自分のwebapp(純粋なHTML + JSがホームスクリーンに固定されています)にあり、ボタンを押しています。 2.クリックイベントは、カスタムスキームを呼び出してネイティブアプリを起動します。 3.ネイティブアプリは私のwebappを呼び出す必要があります。通常のURI(http://..../myCallback)を開いてSafariを開きますが、実行中のインスタンスを1から開くようにします。 – Kai

関連する問題