2017-08-14 15 views
0

私はwatchOSアプリケーションのProバージョンを持っていて、ユーザーをiPhone上のApp Storeにリダイレクトしたいとします。これを達成する方法は?watchOSアプリケーションからApp Storeを開く方法は?

WatchConnectivityを使用しようとしました。 iOSアプリでは、次のコードを使用しています。

func session(_ session: WCSession, didReceiveMessage message: [String : Any]) { 
    if message[.openProAppOnAppstoreMessageKey] != nil { 
     // NOTE: Works only in foreground 
     UIApplication.shared.openURL(.proApp) 
    } 
} 

問題は、iOSアプリがフォアグラウンドにある場合にのみ問題になります。バックグラウンドではsession(didReceiveMessage:)が正常に呼び出されますが、openURLは効果がありません。

答えて

0

WatchConnectivityを使用してiOSアプリをフォアグラウンドにする方法はありません。バックグラウンドからアプリを開くことはできません。これを行うには、ユーザーがアプリを開く必要があります。

これはAppleの意図的な制限です。開発者がアプリをバックグラウンドからフォアグラウンドに持ち込んで他のアプリを開くことができたらどうなるか想像してみてください。

+0

「updateApplicationContext」のこの説明は私の特に質問に役立ちますか?私はすぐにApp Storeを開き、 'updateApplicationContext'はこれには適していません。 – kelin

+0

編集の前に、実際の問題が何であるかはっきりしていませんでした。しかし、私はあなたの編集に基づいて私の答えを更新しました。 –

関連する問題