Google+

PASTEL ORBIT ゲームプログラマが語る / (旧Team Dyquem!)

ゲームプログラマの語り場

パステル オービット
.
new

PASTEL-ORBIT/(旧TeamDyquem)

Dyquem

検索フォーム

全記事表示リンク

最新記事

アクセスランキング

[ジャンルランキング]
コンピュータ
507位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
109位
アクセスランキングを見る>>

QRコード

QR

Mail

アプリに関するご意見等は、下記メールフォームよりお問い合わせ下さい。
直接のご連絡は、team.dyquem[at]gmail.com にてお受け致します。

Your address:
Message:

iOS4.1における、NSDateの仕様変更
2010-09-16 22:25

東京ゲームショーが始まっていますねぇ。
今年はiPhoneアプリのコーナーなんかも盛り上がっている様で、楽しみであります。
明日にでも顔を出して来ようかと思います。

個人的にはワンダと巨像のPS3版が、悶え死ぬ程嬉しいですね。
あのゲームは大ファンです。不安になるほど大ファンです。

不安になるほど、と言えば本日電車内。
不安になるほど猫背の青年がおりました。
なんだろうあれは。戦闘前か?



さて、拙作「まりも育成」がiOSの最新バージョン4.1で不具合が出てしまいました。
対応したつもりだったのですが、先日事の真相が掴めました。
(既に修正し、iTunes Connect へ提出済み。現在 Waiting for Reviewです。)

iOS4.1でのあるクラスの仕様変更が原因だったのですが、
同じ事が起きている他の方のアプリも在りそうなので記録して残しておきたいと思います。

まあ簡単に言えば、
[ [ NSDate date ] description ] 返す文字列、

これまでは本体設定の言語に応じた戻り値だったのですが、
世界標準時刻であるGMTに変更になっています。

これまでは、この文字列を
  NSDate* date = [ [ NSDate alloc ] initWithString:[ その文字列 ] ];

として利用していたのですが、OS4.1からはこの処理が失敗します。

まりも内部では、これらの日付情報を元に経過時間なんかを計る処理があるのですが、
算出したとある重要なdouble値が結果的にNaN化。以後のあらゆる計算を阻害しておりました。

最終的には、ファイルへセーブしていた時刻をNSTimeInterval値に変更する形で対応しました。
こんな感じです。


// 現時刻ではなく、timeIntervalSinceReferenceDateで得た値を保存
const NSTimeInterval timeInterval = [ [ NSDate date ] timeIntervalSinceReferenceDate ];
// 保存した値から、時刻を生成
NSDate* date = [ NSDate dateWithTimeIntervalSinceReferenceDate:timeInterval ];


みなさん、お気を付けあれ。
関連記事
rule

シリーズ記事まとめ

Aニュース、ガジェット通信 寄稿記事

『連載.jp』寄稿「ゲームプログラマが語る「プロ棋士に勝ったAIは、タクシー基本無料化をもたらす?」」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る ”買わない理由”がもたらす充足感と、開発者達の心理」」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る アップデート版に潜む開発者モラルハザード」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る ソフトやアプリと携帯ゲーム課金における経済行動学」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る。新しいゲーム機が定期的に生まれる理由」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る 楽しさの仕組み ゲームメカニクス」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る 3Dテレビとゲームの微妙な関係 その打開策」
『Aニュース/ガジェット通信』寄稿「ゲームプログラマが語る 無料アプリのビジネスモデルと舞台裏」
『Aニュース/ガジェット通信』寄稿「新発表ラッシュに見るクラウド大航海時代の幕開け」

■ゲーム制作初心者さん向け系

ゲームプログラマが語る。なんちゃってリードプログラマにはなるな!ゲーム造りで放棄してはいけない大切な事
ゲームプログラマが語る。今さら聞けないフレームレートに纏わる話。秒間60?16ミリ?
ゲームプログラマが語る。「浮動小数点」と商業レベルで上手に付き合う方法
「ゲームプログラマが語る。ゲーム制作初心者の方へ小ネタ「クォータービュー入門」」
「ゲームプログラマが語る。「正しい乱数」が彩る確率世界とエンターテイメント」
「iPhoneアプリ、ゲーム制作初心者の方へ小ネタ「線分と円の交差」」
「iPhoneアプリ作者より、ゲーム制作初心者の方へ小ネタ「2Dベクトル」」
「iPhoneアプリ作者より、ゲーム制作初心者の方へ小ネタを一つ」

「プロのゲームプログラマとして、ゲーム製作に関する書評を」シリーズ

ゲームプログラマが語る書評:「MMORPGゲームサーバープログラミング」を読んでみた
ゲームプログラマが語る書評:「ゲームプログラマになる前に覚えておきたい技術」を読んでみた
ゲームプログラマが語る書評:「ゲームエンジン・アーキテクチャ」を読んでみた

■個人でも出来る、マルチプラットフォーム開発関連

ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その4
ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その3
iPhoneアプリ作者が語る。マルチプラットフォーム化その2・アトミック型定義のススメ
ゲームプログラマが語る。iOSゲームをWinマルチプラットフォーム開発・その1

■リリースしました系

PASTEL-ORBIT/TeamDyquemアプリ第19弾。ローグライク決定版「隣人は魔王」をリリースしました。
TeamDyquemアプリ第18段。ご当地バトルRTS「埼玉クエスト」をリリースしました。近隣の県を滅ぼそう(*-_-*) 埼玉以外でも遊べます #47app
アプリ新作「ネコりす マカロン」をリリースしました
埼玉県ご当地アプリ、「タッチ the さいたま」をリリースしました #47app
アプリ新作「ひよこガーデン」をリリースしました
TeamDyquem新作。結構真面目なアクションパズル「ネコりす」リリース
iPhoneアプリ作者が、iアプリ「泡リス女子部 for iアプリ」をリリースしました
自作iPhoneアプリ改良版、「ネコがゴミのようだネ:アーケード」をリリースしました
iPhoneアプリ作者が、「まりも育成」for iモードをリリースしました
iPhoneアプリ新作 「ナタ・デ・ネコ」 をリリースしました
秋刀魚は関係ないけれど、新作「i-Wishbone」リリース
アプリ新作「ネコがゴミのようだ」。プロモ動画をアップしてみた
「泡リス 女子部」、販売開始
AppBankにまりも紹介記事が!

ゲームプログラマとして参加。ご当地47都道府県アプリプロジェクト #47app

□ビジネス系

ゲームプログラマが語るドコモiPhoneと、インフラから合法的に大金を抜くスキーム
ゲームプログラマが語る。秀丸エディタのビジネスモデル

■SFネタ系

ゲームプログラマがSFを語る。意識はどこからやってきて、死んで、そして何処へ行く?
ゲームプログラマが語る。気の遠くなるスキもない程の、宇宙の話
iPhoneアプリ作者が語る。流れ星に馳せる真実
iPhoneアプリ作者が警笛。どこでもドアの使い過ぎには注意
iPhoneアプリ作者が語るSETI理論。異星人さんは何処!?


人気ブログランキングへ

Theme:iPhone
Genre:コンピュータ

comments(2)|trackback(0)|iOSプログラミング|2010-09-16_22:25|page top

トラックバック


この記事にトラックバックする(FC2ブログユーザー)

コメントの投稿

非公開コメント

No title
こんにちは。
私も、NSDateで保持したものを使うとエラーになってしまって困りましたが、ここにあるようにTimeIntervalで一回仲介してやるとうまくいきました。
情報提供に感謝です。
Re: No title
ご訪問、有り難う御座いますね。
お役に立ててなによりです~