お?いけるくさい?

iPhoneアプリエンジニアのたまごです。いっちょまえエンジニア目指してちいさな発見や学んだことを覚え書きしていきます!Objective-C/iOS/開発

プッシュ通知

プッシュではまった。

といっても端末側の実装にミスは無かったんやけど。

 

[[UIApplicationsharedApplication] setApplicationIconBadgeNumber:-1];

[[UIApplicationsharedApplication] cancelAllLocalNotifications];

という処理を書いているのに消しても消してもバッジが復元する

という気持ち悪い現象が止まらず。

ログでは

aps = {

 badge = 1

}

っていうのを2分おきくらいに定期的に受け続けてる。

apnsのサーバーに残ったゴミが送られ続けてるのか?

でもググっても全然そんな情報出てこないぞー!

なんだこいつー!何者だー!

ていうかbadgeの実装方法についての情報ってそんな無いぞー!

消すって至ってシンプルな処理しかないやんー!(i□i)

てかなり悶絶した。

 

結局原因はサーバーから1分おきにbadge = 1という謎のプッシュを送っていたことやったけど...

それをストップさせたら無事バッジ消せたのでよかった。

(もっと早く検証してくれたら苦しまずに済んだ。つらたん。)

 

それ以外でへんだったのは、

developer centerで

→プッシュ通知の証明書発行して、

(このへんもキーたらなんたらむずかったー)

→アプリIDは無事発行できて、

→そのアプリからprovisioningファイルも無事作成して、

→デバック端末はselectAllにして、

→はい、OKー!

→無事tokenも取得できて、

「さあて、開発用端末をもう一台追加するかね!」

と追加してprovisioningを再DLしなおすと...

「Appの有効な”aps-environment”エンタイトルメント文字列が見つかりません」

 

えええええええええヽ(´c_,`)ノ;;;; 

 

まってくれ。

そんな。1台追加しただけでtokenとれんくなるとかおかしいやろ。

 

ってことでしょうがないので毎回とれなくなったら

devloper版とadhoc版とrelease版の3つのprovisioningファイルを一旦削除して、

3点セットで作り直して、

再びDL...としたら、無事復活。

どゆこっちゃ。sandBox環境だから?

てかそもそもprovisioningファイルってこんな頻繁に作り直して良いものなのか...。

このへんな挙動の原因として考えられるのは、

しいてあげるとするなら、

provisioningを作成する際に

アプリを選択するとこの上にcertifictionみたいな?作成者みたいな?(うろ覚えやけど)

欄があって、そこんとこにまったく同じ名前で2人登録者がいるんですよね。

まったく同じ名前やからどっちが本当のアカウントなのかよくわからないけど

とりあえずどっちかわからないのでSelectAllにしてますよね。

ここらへんがあやしいくさい。

まあ、とりあえずrelease版でプッシュが届くかは、

appStoreからDLするまで本番用tokenが発行されないということで

検証もできませんが、

届いてくれることを祈るのみです。...ふう。