久しぶりのAppleに申請していたアプリがRejectされた。
iOS6.0.1のiPhone5でテストしたら,起動するとこでクラッシュするとのこと。
(クラッシュログを添付してあったので見てみるが、ろくな情報無し。)
またまたご冗談を・・・と思いつつ、Xcodeからシミュレータで起動する。
問題なし。
provisioningファイルを間違えたかと思ったが、その形跡もなし。
ふと思い立ち、ビルドをリリースの設定にしてシミュレータ起動してみる。
XcodeのProduct→Edit Scheme→Run (アプリ名)→Infoタブ
Build ConfigurationをDebugからReleaseに変更
そうすると・・・
ア、落ちた。
コンソールを確認してみると、StoryBoardファイルが見つからないとか。
Could not find a storyboard named ...
またまたご冗談を・・・・・・
ネットで調べてみると、このバグはたまに起こるらしく、
一旦Storyboardファイルをプロジェクトから削除し、再度追加すると解決するらしい。
というわけで、delete→remove referenceで、ファイル自体は残しておき、
ファインダーから同ファイルをまたドラッグしてプロジェクトに追加。
今度はリリース設定でもシミュレータは落ちなかった。
デバグ設定では大丈夫で、リリース設定では発生するバグとか・・・。
アドホックテストも大丈夫だったのに・・・。
今後はiTunes Connectにアップロードする前に、
毎回リリースビルドで全部テストする必要があるのか・・・
またまたご冗談を・・・・・・・・・。
2012年12月20日木曜日
2012年12月19日水曜日
米長永世棋聖
先日、米長永世棋聖が亡くなった。
米長さんの解説はとてもおもしろく、今でもたまにyoutubeやニコニコ動画で見ている。
特に有名なのが、羽生さんの「伝説の5二銀」だ。
NHK杯で加藤一二三さん相手に羽生さんが放ったこの一手。
そこで米長さんが「おおー、やった!」と叫んだことが一番のファインプレーだった、そうご本人は語られていた。
晩年、現役を退き、将棋連盟の会長に就かれていた。
一方で昨年の調度今ごろ、ボンクラーズという将棋ソフトと対局された。
対局前数ヶ月は、感を取り戻すために詰め将棋をしたり、どうやって攻略するかを検討したりと、ご本人のホームページに書かれていた。
引退したとはいえ、プロ棋士とはこういうものかと感心させられた。
まさに将棋界の大物がいなくなった。
昔、升田幸三や大山康晴が亡くなられた時も、当時の人はこんな気分だったのだろうか。
将来、谷川浩司や羽生善治がいなくなったら、将棋界はどうなってしまうのだろう。
この方たちを超える大物が出てくるのだろうか。
2012年12月18日火曜日
iPhone開発:Game Centerのリーダーボード表示時とかにおかしなアニメーション
自作iPhoneアプリで、Game Centerのリーダーボードとか、アチーブメントのviewを表示しようとしたとき、画面を回転したときのような変な動きをするようになった。
要は、下記のようなコードを通ったとき。
GKAchievementViewController *achievements = [[GKAchievementViewController alloc] init];
if (achievements != nil)
{
achievements.achievementDelegate = self;
[self presentViewController: achievements animated: YES completion:nil];
}
で、animatedをNOにしても効果はないし、そういえばNavigationController下にある他のViewに遷移するときも若干おかしい気がする。
そして6時間くらい調べてやっと原因発見。
ゲーム画面のアニメーションで、開始と終了の組み合わせが合っていない箇所があったのだ。
下記コード
for (int i=0;i<5; i++) {
// アニメーション定義開始
[UIView beginAnimations:NULL context:nil];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:0.1f + (0.05 * i)];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
・・・
・・
・
}
}
// アニメーションブロック終了
[UIView commitAnimations];
要は、少しずつタイミングをずらしたアニメーションを複数実行したかったわけで、
for文でアニメーションの時間をずらしていた。
そして、なにを考えていたのか(多分コピペして途中にfor文を差し込んだせいだと思うが)アニメーション定義の終了をfor文の外に出していた。
つまり、上記だとアニメーション定義開始を5回やって、定義終了を1回しかやっていないことになる。
しかもここの処理は正常に5回アニメーションされてしまうようだ。
そして気付かないという結果に・・・。
さらにまずいことに、これはアプリ内の他のViewにまで影響してしまうらしく、
原因を探るのにさらなる時間が必要となってしまった。
ということで、以上が原因となり、Viewの切り替えのところで変なアニメーションが発生していた。
定義終了のところをfor文のなかに入れたところGameCenterのviewも正常に表示された。
アニメーション定義の開始と終了は1対1になるように気をつけましょうというお話でした。
2012年12月7日金曜日
iAdが有効にならない
iAdが有効にならない事象がありました。
先月下旬くらいから、新アプリがReady for SaleになってもiAdがTest Adsのまま
↓
一つだけならこちらのミスかなと思ったが、続けざまに3つ連続でなる
↓
iTunes ConnectのContact Usから質問送る(英語)
↓
3つの内一つはバグ修正のため、アップデート申請出していて、それを見て勘違いされて、レビュー待ち状態だからだよと返答される。
↓
返答の一番下に、日本のサポートはこちらとあったので、そっちの方が手っ取り早いかと電話してみる。
↓
こちらでは対応できないので、上のメールに返信して対応してもらってと言われる。
↓
また状況を説明する(英語)
↓
返事するからちょっとまってとメールが返ってくる
↓
翌日、何事もなかったかのように突然3つとも有効になる
↓
さらに翌日、気付いてると思うけど、有効になってるからとメールが来る(英語)
↓
原因は?次申請するとき気をつけることある?と送る(英語)
↓
We appreciate your patience as we worked through a technical issue on our side.
と一行で返事来る。
結果、広告収入5日分削られた。
多分僕は怒ってもいいと思う。
先月下旬くらいから、新アプリがReady for SaleになってもiAdがTest Adsのまま
↓
一つだけならこちらのミスかなと思ったが、続けざまに3つ連続でなる
↓
iTunes ConnectのContact Usから質問送る(英語)
↓
3つの内一つはバグ修正のため、アップデート申請出していて、それを見て勘違いされて、レビュー待ち状態だからだよと返答される。
↓
返答の一番下に、日本のサポートはこちらとあったので、そっちの方が手っ取り早いかと電話してみる。
↓
こちらでは対応できないので、上のメールに返信して対応してもらってと言われる。
↓
また状況を説明する(英語)
↓
返事するからちょっとまってとメールが返ってくる
↓
翌日、何事もなかったかのように突然3つとも有効になる
↓
さらに翌日、気付いてると思うけど、有効になってるからとメールが来る(英語)
↓
原因は?次申請するとき気をつけることある?と送る(英語)
↓
We appreciate your patience as we worked through a technical issue on our side.
と一行で返事来る。
結果、広告収入5日分削られた。
多分僕は怒ってもいいと思う。
登録:
投稿 (Atom)