タグ

ブックマーク / www.awaresoft.jp (4)

  • Quartz 2Dで日本語(Unicode)の文字列を描画する方法? - Awaresoft

    iOSで線や図形を描画するには、Quartz 2Dを使います。Quartz 2Dは文字も描画できるのですが、UTF-8の日語文字を描画する方法がどうしてもわからなかったので調べてみました。 こちらとかこちらのページによると、日語のフォントを指定した場合は、文字の描画にCGContextShowTextAtPointが使えないらしい。代わりにCGContextShowGlyphsAtPointを使うことになるらしいのだけど、そのためにはGlyph(文字の形状)を用意しなければならず、そのために使えるCGFontGetGlyphsForUnicharsという関数は非公式APIなのでAppleにリジェクトされてしまうのだとか。 上のページにはそれを解決する方法とコードが書かれているのだけど、私には難しすぎるので、Quartz2Dで描画するのはあきらめて、もっと簡単な方法がないか探してみたとこ

    raimon49
    raimon49 2013/04/12
    Quartz2D座標軸を切り替える。
  • iOSデバイスのクラッシュログを読むには - Awaresoft

    1. クラッシュログファイルを探す iOSアプリがデバイス上でクラッシュしたとき、デバイス上に自動でクラッシュログが生成されています。これを使えば、デバッガで接続していない状態でクラッシュした時でも、クラッシュの原因を調べることができます。 クラッシュログは、アプリがクラッシュしたデバイスを一度iTunesでMacPCに接続して同期すると、デバイスから次の場所にコピーされます。 Macの場合: ~/Library/Logs/CrashReporter/MobileDevice Windows Vista/7の場合: C:\Users\<user_name>\AppData\Roaming\Apple computer\Logs\CrashReporter/MobileDevice Windows XPの場合: C:\Documents and Settings\<user_name>\A

    raimon49
    raimon49 2012/11/19
    symbolicatecrash [クラッシュログファイル] [dSYMファイル]
  • Retinaディスプレイ用の@2x画像からふつうサイズの画像を出力するPhotoshopスクリプト - Awaresoft

    iOSアプリを作成する際に、アプリ内で使用する画像は通常のディスプレイ用とRetinaディスプレイ用の2種類を用意する必要がありますが、これが非常に面倒な作業です。 ほとんどのデバイスがRetina Displayになった今となっては、通常のディスプレイのサポートはもう辞めてしまいたいところですが、iOS 6でiPhone 3GSもサポートされることが決まり、やはり当面は通常のディスプレイもサポートしなければならなくなりそうなので、対策を考えました。 Photoshopを使って通常のディスプレイ用とRetinaディスプレイ用の2種類の画像を用意する方法にはさまざまなやり方が考えられますが、一例としてPhotoshopスクリプトを使った私のやり方を書いてみます。 1.Retinaディスプレイ用の画像ファイルを用意する まずは、Retinaディスプレイ用の画像ファイルを用意します。 Retin

  • プロパティに対応するインスタンス変数の命名規則について - Awaresoft

    最近になって変わったObjective-Cのインスタンス変数の命名規則について。 プロパティに対応するインスタンス変数の変数名をプロパティ名と別にすべきか、また、インスタンス変数名をアンダースコア(_)で始めるべきかどうか、さまざまな場所で議論になっているのを見てきて、自分も長い間悩んだ結果、結論が出たのでその経過をまとめておきます。 背景をとばして結論だけ見たい人はこちらへ。 iTunes Uのスタンフォード大学の"CS193p: iPad and iPhone Application Development"の講義は、iPhoneアプリをこれから作ろうという人にはもちろん、既に作っている中級者の方にとっても、見る価値があると思います。 特に、Paul Hegartyによる2011年秋の講義はiOS5に完全に対応していて、説明も非常に分かりやすく、必見です。何と言っても、こんな白髪白髭の

    raimon49
    raimon49 2012/06/11
    >iPhoneと64-bit Mac OS X 10.5以降が"Modern"、それ以前が"Legacy" / prefixのアンダースコアは使って良し、ただし直接アクセスするのはinit/getter/setterなどに限定し、それ以外はプロパティアクセス。パフォーマンス的にも無視してOK
  • 1