森クマblog SleepingMuseum

森のゲーム開発室の活動記録

クマVSマ インシデント発生のお知らせ(随時更新)

平素よりクマVSマをプレイいただいている皆様ありがとうございます。

現在iOS版の最新 version 2.0にて以下の現象が発生する場合があります。

・クマータスの「HP/ATK/DEF/MAのアップ」「スタンプとなかマの編成変更」が保存されない(ゲーム再開時に保存前の状態に戻ってしまう)

 

修正バージョン(2.2)をAppStoreにて公開したので、iOS版の方はお手数ですが、アップデートをよろしくお願いいたしますクマ!

goo.gl

 

 

以下、障害発生から審査登録までの流れ。

 

(01:20)

 

f:id:shakeflower93:20170803215754j:plain

 

とりあえず、配信可能テリトリからこれまでダウンロードのあった国を、かたっぱしから外して非公開にする。

f:id:shakeflower93:20171203090127p:plain

(全部外すと、AppStoreからの削除処理とみなされそうだったので、最低限の国を外してみた)

Twitterとアプリにて障害報告を行う、その上で障害調査を開始する。

 

森クマ「なんでリリースビルドの時だけデータ保存に失敗するクマ、これはiPhoneXのバグの影響に違いないっクマ!!

OL「iPhone7でも発生してるわよ!!」

森クマ「」

 

(10:50)

森クマ「ログも出ないックマ!!!もうだめだー!!!」

OL「バージョン2.0でのアップデート内容を確認しなさい!!」

・Xcode8から9への移行

・TwitterKitの導入

・マダコの説明文が抜けてたので追記

f:id:shakeflower93:20170905002033j:plain

森クマ「ま、まさかマダコの説明文が!!!???」

OL「違うわ!!開発環境もビルドOSも全部変わってるじゃない!!動くほうが奇跡だわ!!デバッグビルドだけじゃなくて、TestFlightでリリースビルドも確認しないと!!」

森クマ「したックマよしたックマ!!パッとみた感じ大丈夫だったクマ!」

OL「ぱっと見じゃねぇ!!!!」

 

(11:12)

森クマ「だめだぁー!!リリースビルドだけどうしてもうまくいかないクマ・・・。」

森クマ「ほ、補填を・・・補填のお詫びマネーとスタンプとチャレンジミッションを用意するクマよ!」 

OL「落ち着きなさい!!人間の会社でインシデントをぶっ放したときのことを思い出しなさい!」

f:id:shakeflower93:20170905002033j:plain

(トラウマがえぐられる森のクマ)

OL「こうだったでしょ!!大雑把に!!」

1) 被害拡大の阻止(配信の停止、ユーザーへのお知らせ)

2) 原因の究明(げべぇえええええ!!!)、状況の定期的な報告

3) 修正の提供(修正版配布、ユーザーへのお知らせ)

OL「補填は全てが解決したあとの話だわ!!」

 

(12:18)

森クマ「にゃーん」 

森クマ「にゃーん」 

OL「現実逃避するなっ!!」

森クマ「もういやーー!!森に帰りたいクマ!!」

??「落ち着きなさい」

 

f:id:shakeflower93:20170614124532j:plain

森クマ「ガ、ガチャさん!!」

ガチャさん「おわびマネー配布計画は私に任せるがいいわ。森クマ、あなたはインシデントの原因究明に専念するがいいわ」

森クマ「ガ、ガチャさん・・・!で、でももう森のクマ、ソースコードを読むのが辛い・・・」

ガチャさん「私の部下の、ソースレビューの達人を貸してあげる!」

森クマ「いえ結構です、自分でしっかり対応いたしま

f:id:shakeflower93:20170106004842j:plain

ビスクアット「げひゃぁ!!!デグレソースコードはどこだぁ!!」

 

 (12:58)

ビスクアット「ログも出ない以上、処理を探るしかねぇ!!怪しいところを二分法で消しながら特定しろぉ!!」

f:id:shakeflower93:20170803222529j:plain

森クマ「やってますクマァ・・・やってるけど全然わからん」

ビスクアット「ちぃっ!!だったら画面上に直接ログを出しちまえよ!!」

f:id:shakeflower93:20170730200137p:plain

森クマ「えぇっゲーム画面上に直接デバッグログを!?」

 (14:09)

森クマ「ふぃぃぃできたぁ・・・これでリリースビルドでも画面上でログが確認できますクマ!」

 

ビスクアット「クマータスのデータセーブにはこのキーを使ってるんだなぁ?んん?セーブ時に毎回キャラのIDやらパラメタを文字列結合して動的に作ってるじゃねぇか!!!よし、このキーが生成後に正しく生成されているか、画面ログに出してみろ!」

森クマ「ぎぃっ!!(了解)」

森クマ「デバッグビルド時はちゃんと生成されているクマ・・・ちょっとまってリリースビルド時はクマのIDが空になってるぅううう!!!!!!キーが正しく生成できてないクマ!!

 

ビスクアット「セーブ時のキーは空になっているが、ロード時のキーはちゃんと生成されているようだな・・・キーの文字列生成処理がセーブ時とロード時で違うんじゃないか?

 

森クマ「そんなバカな、キーの生成方法をセーブとロードで変えるなんて入社1年目の社員じゃあるまいしこの森クマに限ってあぁーーー!!!!!

f:id:shakeflower93:20161229132407j:plain

森の一同「やっぱりクマのバグ、クマバグだ!!!!!」

 

(14:42)

f:id:shakeflower93:20170106004842j:plain

ビスクアット「げっへっへ、どうやらセーブ時は、一時変数にクマ野郎のIDを格納したあとに、キー文字列生成処理をかますところで、一時変数が既に解放されちまってるようだなぁ」

 

森クマ「で、でもデバッグビルド時は動いてたんですクマ!!それに、Xcode8でiOS10でビルドしていたときはリリースビルドでも大丈夫たったからこれまで問題にならなかったんですクマァ!!!これは、これはiOS11の重大なバグに違いないクマ!

OL「(文字列結合とかよくわからないけど)そうなの!?ビスクアット!!」

ビスクアット「へい姉さん!!こいつぁひでぇ、クマのコーディングミ

森クマ「小声(ビスクアットさん、もしここでクマのバグだと判明したら、クマはインシデント対応でいつまでも少女さん側のゲーム開発を手伝えませんクマ!その間ビスクアットさんは少女さんにこき使われ続けるんですよクマ!)」

ビスクアット「げひゃぁ!!これはiOS11のバグに違いないぜぇ!!

 

?「いや、これはクマの過失だ」

f:id:shakeflower93:20170618123023j:plain

森クマ「げぇっ!!!ジョスゥ!!!!」

 

ビスクアット「iOS11のバグな訳ねぇだろおおおお!!!デバッグビルドとリリースビルドじゃ(具体的に何が違うかはわかならいけど多分)メモリの解放タイミングとか何か違うかもしれねぇだろうがぁああ!!そもそもリリースビルドでの最低限のテスト手順を作ってないのが原因だぁ!!!

 

f:id:shakeflower93:20170326102713j:plain

 

 (16:32)

ウツボーヌ「こいつめ!こいつめぇ!!!」

f:id:shakeflower93:20160930001731j:plain

 

ウツボーヌ「OLさん、こいつぁ顎ラインイレイザーの刑にしましょうぜ!!」

f:id:shakeflower93:20170506143254j:plain

森クマ「待ってください、待ってくださいOLさん、この森のデバッガー兼テスターは妖精のウツボーヌですよ!!!」

f:id:shakeflower93:20160929010440j:plain

ウツボーヌ「て、てめぇ!!!テスターに罪をなすりつけるつもりか!?俺はあくまでテスター、テストを作成するのはクマの役目だろうが!!」

OL「ちょっと2人ともおちつい・・・

f:id:shakeflower93:20170615092929p:plain

森クマ「はぁああああんん!!!??設定した通りのテスト項目をなぞるだけならアッチャパルピカにもできるクマよ!」

f:id:shakeflower93:20171202164156p:plain

(さりげにディスられるアッチャパルピカ。IQ200。)

OL「ねぇ二人とも、話を・・・」

森クマ「テスターを自負するなら、テスト項目の抜けや誤りも一緒にみつけるが良いクマ!!だいたいクマはプログラム担当なんだからテストまでしっかり作ってられないクマよ、このエセNOVOうさぎがぁクマ!!」

f:id:shakeflower93:20160930001450j:plain

エセNOVOうさぎ「て、てめぇ気にしていることを!!いっぱい聞けていっぱいしゃべれるようにしてやろうかぁ!

 

わぁああああん・・・

森クマ「・・・も、森が泣いてる・・・!?」

 

f:id:shakeflower93:20170905001432j:plain

(かつてないシリアスな展開に全員がビビる)

 

?「おいおいおいおいおいおいおいおい!!今はチーム内で責任をなすりつけているときじゃないぜ!!」

f:id:shakeflower93:20160915215104j:plain

森クマ「そ、その声は!!」

 

f:id:shakeflower93:20160917090708j:plain
MAX「俺だぜ!!マックスだぜ!!」

f:id:shakeflower93:20170904003306j:plain

(だれだっけ・・・)

 

f:id:shakeflower93:20160917084417p:plain

MAX「今考えることは、責任のなすりつけあいじゃあないぜ!!まずは障害修正バージョンをリリースビルドして皆でテストだ!それからリリースしてユーザーに詫びを入れて、クマの顎ラインを削ぐのはそのあとのパーティーでいいじゃないかだぜ!!

 

f:id:shakeflower93:20170204125302j:plain

森クマ「ちょっとまって、責任の所在が最後に固定された気がす

f:id:shakeflower93:20170114234552j:plain

 

OL「そのとおり!みんな、まずは障害対応を進めるのが先決よ!クマの顎ラインを鮮血にそめるのは後からでも遅くはないわ!!」

 

(18:05)

森クマ「修正版のリリースビルドを登録しましたクマ!!」

 OL「さあみんな!テストするわよ!以下の因子でテストを作ったから、手分けして実施して!」

・アプリOS(10,11)

・アプリバージョン(新規/更新)

・クマータス(各ステータスアップ・スタンプ入れ替え・なかマ入れ替え)

スタンプ(所持枚数・ガチャ・売却)

・なかマ(遭遇有無・倒した回数・ナカマフラグ)

・ステージ(クリア状態、未クリア状態、オープニングフラグ) 

f:id:shakeflower93:20171202181710j:plain

(修正バージョンではクマータスにアプリのバージョンが表示される)

 

f:id:shakeflower93:20170611120604j:plain

森クマ「テストオーケークマー!! 」

 

(21:15)

森クマ「よっしゃあ審査登録完了クマ!寝る!」

f:id:shakeflower93:20160917084417p:plain

MAX「おいおいおいおいおいおいおいおいおいおいおいおいおいおいおいおい!ちょっと待てよそれじゃあ通常の審査期間待たされちまうぜ相棒!こういうときは特急審査をお願いするんだ!更新版の審査申請を急ぐ理由をAppleに納得させれば、時期にもよるが倍のスピードで優先的に審査してくれるぜ!」

f:id:shakeflower93:20170730200137p:plain

 森クマ「えぇっ審査を優先的に!!??でも・・・お高いんでしょう?」

 f:id:shakeflower93:20160917084417p:plain

MAX「おいおいおいおいおいおいおいおいおいおいおいおいおいおいおいおいおいおいおいおいおいおいおいおいおいおいおいおいおいおいおいおい!みくびるなよ相棒、Appleはインディーズ開発者の相棒だぜ!金は年間更新時だけで十分なんだぜ!」

 

f:id:shakeflower93:20170924105402j:plain

森クマ「Appleさんさすがですクマ!!特急審査お願いしますクマー!!」

f:id:shakeflower93:20171203085844p:plain

(特急審査リクエストをはじめて出した)

f:id:shakeflower93:20170611120604j:plain

森クマ「対応完了クマー!!」

OL「いいえまだよ、審査通過したらちゃんとユーザーの皆様に告知しないとね!」