2012-01-01から1年間の記事一覧
Appがクラッシュした時に生成されるクラッシュログ。この中身は関数アドレスが書いてあるだけでとても読み取りにくい。本家Appならばオーガナイザでアドレスのシンボル解決を自動的にやってくれるのだが、MonoTouch製Appの場合は手動で行う必要がある。 下準…
キーボードのReturnキーの部分が押された時の処理はShouldReturnデリゲートを使う。 次のフィールドにカーソルを移動する場合 UITextField text1; UITextField text2; text1.ShouldReturn = delegate { // BecomeFirstResponderメソッドで移動させる text2.B…
Settings.Bundleで定義された設定を操作してみた。取得 NSUserDefaults prefs = NSUserDefaults.StandardUserDefaults; string testValue = prefs.StringForKey("testKey"); 設定 NSUserDefaults prefs = NSUserDefaults.StandardUserDefaults; prefs.SetStr…
入力されたパスワードを安全に保存するためにKeyChainを使ってみた。 最初保存したレコードを読み出せず苦労したがAccessible属性を設定することで解決した。この属性は必須なのだろうか。 using MonoTouch.Security; private string LoadPassword (string u…
こちらの都合で使わないけど引数を宣言する場合がある。 この時MonoDevelop(というかコンパイラ)が律儀にワーニングを出してくれるができれば無視して欲しい。 で、こんな時はpragmaで制御できるのでその備忘録 // variable declared but not used. #pragma …
RetinaなiPadでCATextLayerの文字がぼやけているのに気づいた。 UILabel等はくっきり表示されている。 調べるとCALayerのContentsScaleを適切に変更しなければならなかった。 CATextLayer textLayer = new CATextLayer(); textLayer.ContentsScale = UIScree…
画像をタイル上に並べて描画する必要があったのでMonoTouchでコードを書いてみた。 ここでの描画先はCALayer。 アニメーションは必要無かったのでOFFにしてある。 using MonoTouch.CoreAnimation; using MonoTouch.CoreGraphics; private CALayer layer; pri…
OTA配信するためには以下の物が必要になる。 MonoTouchのライセンス Appを正式に署名できる証明書等 デバイスがインターネットに接続できる環境(3GやWiFi等) 画像2種 info.plistの設定 plistファイル ipaファイル plistファイルへのリンクが書かれたHTMLファ…
Mac版MonoDevelopの自動更新を有効にしたかったのでこの方法でプロキシを経由できるようにしていた。 しかし最近になってMonoTouch製アプリをiOSシミュレータ内で動かしているとき、プロキシをバイパスできていないことが判った。 正確にはMonoTouch製Appの…
止まっているのかと勘違いするほどクソ遅いARM版ICSエミュレータでMono for Androidアプリを開発するのは非常にストレスがある。エミュレータの起動まではスナップショットを使えば回避できるが、ビルド->転送->実行->ブレーク->ステップ等はとてつもなく遅…
レジストリでなくては制御出来ない模様。http://msdn.microsoft.com/en-us/library/ee330730%28v=vs.85%29.aspx
SecureString型がMonoTouchでも使えるかどうか検証してみた。 using System.Security; using System.Runtime.InteropServices; SecureString ss = new SecureString(); foreach (var v in "ABCDFG") { ss.AppendChar(v); } ss.MakeReadOnly(); IntPtr ssPtr …
Appを公開するために作成する公開用証明書。これを異なる別のMac上で使う為に証明書のファイル形式をcerからp12に変換したときの備忘録。必要なのは distribution_identity.cer 公開用証明書 mykey.key 秘密鍵ファイル(上記証明書を作るときに使った鍵ペアの…
基本的なルールすぎて忘れがちだがメインスレッド以外のスレッドからUIViewにアクセスしてはいけない。というわけですっかり忘れていて数時間無駄にしてしまった。 場所はUITextViewに対して文字列を設定する箇所。 Application Outputには以下の様に出力さ…
CALayerクラスのBorderColorやBackgroundColorといったxxxColorプロパティに対してCGColorを代入した時、メモリリークが発生してしまう現象が起きた。以下の様にした時、 layer = CALayer.Create (); layer.BorderColor = new CGColor(1.0f, 1.0f, 1.0f, 1.0…