2013年5月20日月曜日

Xcode 4.6.2のバグ

Xcode4.6.2は比較的安定しているバージョンだと思ってたけど、やっぱりバグが有った。

・C Flagsの設定で-Dオプションをつけた場合、3つ目以降が無視される
たとえば、-DDEBUG -DIOS -TESTとした場合、DEBUGとIOSはdefineされるが、TESTは定義されない。

コンパイル結果がどうにもおかしいので調べたらこれだった。

これは勘違いだった。
PROJECTではなくTARGETで設定するのが正解か。
おかしいなぁ、今までPROJECT側でいけてたと思ったんだけど。


・シミュレーター環境で、2回に1回しかRUNできないCouldn't register アプリケーション名 with the bootstrap server. Error: unknown error code.
This generally means that another instance of this process was already running or is hung in the debugger.
と出て起動できない。実際にはUIApplicationMain()呼び出し時にsignal SIGABRTを発生して止まる。
実機では発生しない。まったくもって意味不明。

→4.6.3では修正された。

・[UITextField.layer setAffineTransform]の結果がおかしい
UITextFieldをUIViewにaddSubviewする。このとき、UIView.layerにsetAffineTransformで変形をかけてあったとしても、UITextFiledでそれが無視される。ならばとUITextFiled.layerにも同じ設定すると、多くは良くなるが、なぜかy座標だけおかしくなる。
なので、frameで表示位置の再設定が必要になる。
言葉で書くとわかりにくいけど、プログラムで実行するとすぐ解る。X-BASIC for iOS V2.1でのinputのバグはこれが原因。



あと、前から直ってないのがこれ
・Open Separate Assitant Editorした場合、第2画面以降で単語補完がすぐ消えてしまう


-Dが効かないのは、たとえば.pchの中で#defineすれば回避できるけど、面倒。
Appleの作るものにバグがなかった試しはない。
新機能部分にバグがあるならまだしも、エンバグが多いのが困ったものだ。


0 件のコメント:

コメントを投稿