PC-6001

はじめて手にしたPCはNECのPC-6001でした。

小学校5年生の終わりごろだったか。すがやみつるの「こんにちわマイコン」で入門した世代ということになります。

いろいろゲームを作ってみたいとか思っていて結局構想段階でストップするというのは今も昔も変わらないところですが、当時の自分の実力では簡単なBASICのゲームをつくるのすらあやしいものでした。I/Oという雑誌に載っていたマシン語のダンプリストを入力したりしたのも今はいい思い出です。ソフトはカセットテープでロードしていました。ユーザーのデータを保存するようなソフトは当時なかったような?

今でも実家にはあるのかどうか。

なお、CPUはZ80です。アセンブラをつかうには比較的分かりやすいCPUでした。今でもXOR A,A -> AF  ; LD HL,$xxxx -> 21 xx xx  ; CALL xx xx -> cd xx xx ; RET -> c9などアセンブリコードを結構覚えています。

広告

iADのバグ?

アプリにiADを入れてから、スリープからの復帰時に固まって落ちてしまうことが時に起こるようになりました。特に、10分くらいおいておくとそうなります。Crash logでは

0   libSystem.B.dylib                 0x00000c98 mach_msg_trap + 20
1   libSystem.B.dylib                 0x00002d64 mach_msg + 44
2   AppSupport                        0x0001009e CPDMMessage + 158
3   AppSupport                        0x0000f3e4 -[CPDistributedMessagingCenter _sendMessage:userInfoData:oolKey:oolData:makeServer:receiveReply:nonBlocking:error:] + 848
4   AppSupport                        0x0000ed76 -[CPDistributedMessagingCenter _sendMessage:userInfo:receiveReply:error:toTarget:selector:context:nonBlocking:] + 618
5   AppSupport                        0x0000deba -[CPDistributedMessagingCenter _sendMessage:userInfo:receiveReply:error:toTarget:selector:context:] + 58
6   AppSupport                        0x0000e08e -[CPDistributedMessagingCenter sendMessageName:userInfo:] + 34
7   iAd                               0x00012bcc -[ADSession sendMessageName:userInfo:] + 100
8   iAd                               0x00013cfe -[ADSession open] + 22
9   iAd                               0x000065c2 -[ADBannerView sessionDidBecomeAvailable:] + 38
10  iAd                               0x00014d60 -[ADSessionManager considerCreatingSessions] + 416

となっていました。調べてみるとほかでも同様のことが起こっているようです。

http://stackoverflow.com/questions/3713067/app-crashes-because-iad-fails-to-resume-in-time

iADを入れる前にはハングすることはなかったので(特に、時間経過で何かするものではないので)まあiADのせいなのでしょうか。iOS4.2では直るかもしれませんが・・・

HenPitsuではスリープに入る前に画像を保存するので、作業結果が完全に失われることはないはずです。ただし、Undoはできなくなります。

HenPitsu

アプリ名をとりあえず決めました。

それに伴い、サイトにもページを追加してみました。

ダメと言われればまた考えなくてはいけないですが。

あとiADを入れてみました。少し動作が不安定になっているような気もしないでもないですが。実際の広告が入るとまた問題が生じるのでしょうか。

iADの契約をするのにBanking informationなどを登録しなければいけなくてすべて英語なので大抵の人にはハードルが高いだろうなと思います。まあ有料アプリを公開するのと同じ手間なのですが。

これから審査してもらうべく登録を行う予定です。

InterfaceBuilderとiAD

自作アプリは無料にしようと思うのだが登録料など持ち出しが結構あるので、ためしにiADをおいてみることとした。

画面レイアウトはInterfaceBuilderを使っているので(これが諸悪の根源との説もあるが)ツール上で設置して

・・・NSInternalInconsistencyExceptionで異常終了。

いろいろググッてみると同じような例ではないが、例外が投げられたときにはデバッカコンソールにその理由が併記してあるとのこと。

自分の場合は:

reason: ‘-[UIViewController _loadViewFromNibNamed:bundle:] loaded the “configure” nib but the view outlet was not set.’

これまでエラーになっていなかったが、Configure画面のviewアウトレットを指定してやったら直った。

(自力で付け加えたconfigure画面だったのでちゃんと設定されていなかったよう。)

ADBannerViewはview hierarchy にちゃんと乗っていないといけないらしい。ここでエラーが生じたのだろうか。

Visual-C++1.5を使っていた遠い昔を思い出した。

純正のヘルプファイルやtechnical know-howなどはMicrosoftのほうが親切かな。