2016-03-21 9 views
0

私のアプリケーションにはプッシュ通知が実装されています。 問題:私のアプリケーションはオフになっており、プッシュ通知を受け取り、クリックしたときに表示されます。私は1つのAPIを呼びたいので、どの方法でこれを処理できるかを知りたい。 注:主なものは、閉じた状態のアプリです。プッシュ通知をクリックしてアプリを開くと、どのメソッドが呼び出されているのですか?

は、ここに私のコード

if (application.applicationState == .Active) 
    { 
     print("Active") 



    } 
    else (application.applicationState == .Inactive) 
    { 
     print("InActive") 
    } 

ですが、私のアプリがアクティブかIACTIVEであるとき、このコードは、働いています。私のアプリが完全に閉鎖されているとき、どうすればいいですか?

答えて

4

アプリケーションが閉じられ、プッシュ通知が受信され、それをクリックすると、didFinishLaunchingWithOptionsが呼び出されます。

その場合、プッシュ通知をクリックして開いたかどうかを確認する特別なキーが表示されます。あなたは、以下の方法で経由して、それを確認することができます。

//Checking user has tapped on Notification or not! 

if let dicTemp = launchOptions?["UIApplicationLaunchOptionsRemoteNotificationKey"] { 
    //Notification Key Found 
} 
+1

OKおかげで再び..私のためにその作業を人のように新規参入への助けに感謝私は –

+0

こんにちは、答えに感謝します。 dicTempには何が入っているのか教えていただけますか? –

+1

@MelanieJourne最新の答えを確認してください。変数 'dicTemp'はキーが存在するかどうかをチェックします。 –

0

残念ながら、通常のプッシュ通知が実行されていない場合、アプリを起動する方法はありません。しかし、Apple PushKitと呼ばれる別の方法があります。これは数年間ベータ版になっています。着信を処理するために "常にソケットを開いたままにする"の代わりにVOIPアプリケーションと共に使用することが意図されていますが、重要なことは、デバイスがPushKit通知を受け取ったときにアプリを起動します。

AppleがPushKitを使用するストアにアプリを許可するかどうかはわかりません。

私は(約1年前に)それを使用していますが、動作しますが、バグがあり、受信通知の受け入れを中止することがあります。

0

迅速な3について、あなたはそれを以下の方法を確認することができます。

if let dicTemp = launchOptions?[UIApplicationLaunchOptionsKey.localNotification] { 
    //Notification Key Found 
    print("Local Notification") 
} else if let dicTemp = launchOptions?[UIApplicationLaunchOptionsKey.remoteNotification] { 
    print("Remote Notification") 
} 
関連する問題