取得したトークンをプッシュ通知を送るためにサーバー側にpostしたいです。
AppDelegate.swift
// デバイストークン取得が成功した場合呼び出される関数 func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { let token = deviceToken.map { String(format: "%.2hhx", $0) }.joined() print("DeviceToken: " + token) // トークンをポスト let postString = token var request = URLRequest(url: URL(string: "http://---/api/login")!) request.httpMethod = "POST" request.httpBody = postString.data(using: .utf8) }
Controller.php (サーバー側)
public function apiLogin() { $this->autoRender = FALSE; // ログイン認証処理 if ($this->request->is(['patch', 'post', 'put'])) { // データベースへ端末情報登録 $data = $this->request->data; debug($data); exit; }else{ $this->Flash->error('不適切な画面移動が発生しました。'); return $this->redirect(['controller'=>'users', 'action' => 'login']); } }
Controllerの処理の中でif文を通らずにelseにいってしまうのでpostできていないという解釈なのですが
どなたか教えていただけるとありがたいです。
このままだと回答は得られないと思いますので、問題を切り分けて質問を細分化されることをおすすめします。
CakePHPとSwift両方の観点で確認することが多すぎて回答者の負担が大きいです。
また、自ら回答者を絞り込んでいることに気づいてください。「CakePHPとSwiftの両方わかる人」という暗黙的なフィルターがかかっています。
それぞれの有識者はTeratailにも多くいますが、両方を併せ持った有識者は少ないと思ったほうが良いです。
あと、前回の質問が放置されているようですが、これらの質問は解決したのでしょうか。
どこまで出来ていてどの部分でどのような問題が発生しているか明確にしましょう。