大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

APNsの設定ーXcode絡みと”デバイストークン”取得確認(2)

著者:川上洋
公開日:2019/10/19
最終更新日:2019/10/19
カテゴリー:技術情報 雑記
タグ:

こんにちは。川上です。

APNsから”デバイストークン”取得の続きです。
APNsから送受信ができるのは、「NonClock」アプリ起動時のAppDelegate内のIFです。

Swift4やXcodeのVer等で、AppDelegate内のIFのプロトタイプが若干変わリマス。
けど、コンパイル時に!マークより編集してくれるのでラクだけど(めんどくさい。。)w。

APNsから送受信できるのは、実機onlyでシミュレーターでは出来ませぬ。
因みに、実機環境は、
・macOS:Catalina(ver10.15)
・Xcode Version 11.1 (11A1027)
・Swift4.2 ・・・ そのうち、いずれ、swiftUIにしたいなぁ・・
・iPhone6+と6 : iOS12.4.2
・iPhoneXR : iOS13.1.2

で、前回はAPNsのリクエストだったので、今回はAPNsから受信です。

    //APNsに登録が成功すると呼ばれる
    // MARK: -  APNsにデバイストークンが成功取得されたら呼び出されるメソッド
    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        print(debug:"-APNsに登録が成功呼び出し-- deviceToken = \(deviceToken.description)")
        
        let characterSet: NSCharacterSet = NSCharacterSet( charactersIn: "<>" )
        
        let deviceTokenString: String = ( deviceToken.description as NSString )
            .trimmingCharacters( in: characterSet as CharacterSet )
            .replacingOccurrences(of: "", with: "") as String
   
        print(debug: deviceTokenString.description )
    }
    
  
    // MARK: -  APNsにError 呼び出されるメソッド
    func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
        print(debug:"--- APNsにError error didFailToRegisterForRemoteNotificationsWithError : \(error)")
    }

で、吐き出したデバッグLogの内容。
print(debug:” ・・・”)  は、Log行分をくっつけたもんでした。。

File: AppDelegate.swift, Line: 49, Func: application(_:didFinishLaunchingWithOptions:) 
--- didFinishLaunchingWithOptions --- 
File: AppDelegate.swift, Line: 52, Func: application(_:didFinishLaunchingWithOptions:) 
--- didFinishLaunchingWithOptions >= 10.0  --- 
File: AppDelegate.swift, Line: 62, Func: application(_:didFinishLaunchingWithOptions:) 
---  デバイストークンの取得要求   --- 
 
・・・・
File: AppDelegate.swift, Line: 88, Func: application(_:didRegisterForRemoteNotificationsWithDeviceToken:) 
-APNsの受信成功呼び出し-- deviceToken = 32 bytes
File: AppDelegate.swift, Line: 97, Func: application(_:didRegisterForRemoteNotificationsWithDeviceToken:) 
32 bytes

デバイストークンの取得は32Byteのデータが取れた模様で、成功したみたいです。

で、さぁて、さてさて。。
次は、NonClockアプリで、LocalサーバーにPHPで繋げたいけど、どうすべかなぁ。。

ではでは。

    上に戻る