忍者ブログ
  • 2024.10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 2024.12
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024/11/23 18:12 】 |
フォントの種類
iPhoneでフォントを指定するときは、

UIFont *font = [UIFont fontWithName:@"Marker Felt" size:32];

という具合に、フォント名とサイズ(縦幅)を指定する。

じゃあ、どんなフォントがあるのさ? ということは当然知りたくなる。

そんな人のために、使用できるフォントの一覧を取得する関数も用意されている。

NSLog(@"%@", [UIFont familyNames]);

NSStringの配列で、フォント名が返ってくる。これを標準出力にでも出せば、使えるフォントの一覧が見られる。

iOS SDK4.2だと、以下のようになった。
PR
【2011/05/07 01:55 】 | iPhone | 有り難いご意見(0) | トラックバック()
iBookでガイド集
iBookのストアで
Apple Development Publications
で検索。

すると5つの文書がヒットする。


iOS Application Programming Guide
一番基本的なこと。
アプリのランタイム環境
バックグラウンドとフォアグラウンド
ビルド
チューニング
など

iOS Technology Overview
iOSの各レイヤーについて

The Objective-C Programming Language
Objective-Cの文法、仕様かな

Object-Oriented Programming with Objective-C
Objective-Cでオブジェクト指向プログラムを書く

Cocoa Fundamentals Guide
Cocoaについての詳細。
参照カウントの説明とかも詳しく載っている


中身を詳しく読んでいったら、各個記事にしよう。

【2011/04/18 01:47 】 | iPhone | 有り難いご意見(0) | トラックバック()
XCodeデベロッパドキュメント
iPhone Developer Program のアンケートが来た。

devProg_enq

ちゃんとこうして聞いてくるという姿勢は素晴らしいと思う。
Appleってやっぱりユーザの方を向いている会社だなと改めて感じる。


【2011/04/18 01:11 】 | iPhone | 有り難いご意見(0) | トラックバック()
Provisioning Profile の作成
今回は、Mac Xcode上で作ったアプリを実機(iPhone/iPad)で動かすために必要な
"Provisioning Profile"
を作る方法を書きます。


ここの作業は挫折レベルMAX。

何をする必要があるのか分からないし、サイトは全部英語だし・・・。


ではでは解説していきます。


まだ済んでいない人は、先に
member centerへの登録(無料)(過去記事)と、
developer programの購入(有料)(過去記事)を済ませてきてください。
どちらもこれからの作業に必須です。

【2011/04/10 18:50 】 | iPhone | 有り難いご意見(0) | トラックバック()
iOS Developer Programの購入
前の記事の続きです。

AppleMemverCenterに登録すれば、
Macでアプリを作成し、Mac上のSimulaterで動かすことはできます。
しかし、実機に転送して動作させたり、AppStoreでアプリを販売することはまだできません。

それをするには、"iOS Developer Program" を購入する必要があります。
$99/year. 10800円/年です。


ここからはその手順を説明します。

【2011/04/10 16:10 】 | iPhone | 有り難いご意見(0) | トラックバック()
Apple Member Centerに登録
iPhone/iPadで開発する際の手順を書きます。


1. Macを買う
Mac OS X SnowLeopard (Mac OS 10.6) 以降のものを買います

2. 開発環境を整える
Mac を買うと、統合開発環境である XCode が付いてきます。
インストールCDが付属。
あるいは、開発者プログラムに登録(無料)すれば、サイトからダウンロードも可能。(後述)

3. iPhone/iPadを買う
もちろん、実機が必要です。
実は、Mac上で動くSimulaterが存在するので、それを使っても良いのですが、
やはり実機で動作確認することは必須。Simulaterではできない操作もあります。
(カメラ撮影、加速度センサー、マルチタップなど)
必ず買っておきます。
しかし、実機でアプリを動かすためには、開発者登録(有料)が必要です。

4. Apple Developer に登録
まずは無料で登録します。
iOSのDevCenterはこんなサイト。

http://developer.apple.com/devcenter/ios/index.action
iOS DevCenter
【2011/04/02 16:34 】 | iPhone | 有り難いご意見(0) | トラックバック()
iデバイスのファイルをMacに出力
iPhone,iPadにはファイラが無い。
データやファイルはすべてアプリに紐づけられる。
そのアプリで作られたデータは、そのアプリからしか見えない。
そのデータを他のアプリや他の機器から参照することはできない。

それは良いところでもあり、悪いところでもある。
あのデータはどこに置いたっけ…? と無くしもの探しをする必要がない。
データは必ず何らかのアプリに使われることで意味を持つ。そうでなければただの1と0のカタマリでしかない。
だから、データがアプリに管理されるというやり方は理に適っている。

その代わり、別のアプリからデータを参照したいとき、複数のアプリで連携したりなどはとても苦手である。ここはAndroidと正反対だ。
iPhoneとiPadのどちらでも動くアプリがあっても、中のデータは同期できないから、例えばiPhoneで進めたゲームをiPadで遊ぼうとしても、また一からやり直しになってしまう。

これはアプリ開発者にとっても起こる問題だ。

ゲームを作っていて、iPadで実機でステージエディットなんかしていて、さてこのデータをMacで見たいなとか、iPhoneに移したいな、というときに困ってしまう。
iPad内のアプリのホームディレクトリ下にエディットデータを保存しているけど、ファイラは無いから見えないし、同期をとってもMacにはコピーされない。どうしよう。


で、方法はいくつかある。
【2011/03/29 00:57 】 | iPhone | 有り難いご意見(0) | トラックバック()
ファイルタイプ(言語)の変更
昨日友人に教えてもらった。


XCodeでファイルをコンパイルするとき、
ファイルごとに、そのファイルが何の言語で書かれているかを指定できます。

○方法
プロジェクト(ファイルビュー)のファイルを右クリックし、「情報を見る」を選択。→「ファイル***.**の情報」ウィザードが開く
「ファイルタイプ」のプルダウンリストからファイルタイプを選択。

○解説
多分、最初に***.mとして作られたファイルは、
sourcecode.c.objc
となっているはず。
これは、Objective-C固有表現と、C言語がコンパイルできます。

***.mmファイルなら、
sourcecode.cpp.objcpp
これは、Obejctive-C固有表現と、C++がコンパイルできます。
(Objective-C++という言い方をすることもあります)

この2つのファイルタイプは、ファイル名の拡張子を書き換える(.m←→.mm)と自動的に変化してくれます。
(自分は今までそうしていた。)

***.hファイルなら、
sourcecode.c.h
になっているようです。



この「ファイル***.**の情報」ウィザードでは、他に
・ファイルパス
・絶対パスか、相対パスか(その場合どこを基準にするか)
・エンコーディング(デフォルトはUnicode UTF8)
・タブ幅
・インデント幅
なども指定できます

Thanks to M君!
【2011/03/27 16:31 】 | iPhone | 有り難いご意見(0) | トラックバック()
C文字列と@文字列
C言語の文字列から、Objective-CのNSStringへの変換

NSString *ns_str = [NSString stringWithCString:c_str encoding:NSUTF8StringEncoding];
NSLog(@"%@", ns_str); //ついでに表示してみる


逆に、NSStringからC文字列への変換

const char *c_str = [ns_str cStringUsingEncoding:NSUTF8StringEncoding];
printf("%s\n", c_str); //ついでに表示してみる



エンコーディング方式を指定する必要がある。
【2011/03/26 00:24 】 | iPhone | 有り難いご意見(0) | トラックバック()
CoreGraphicsでフォント描画
フォント描画の仕方。


//フォント指定。postscript名、サイズ、エンコードタイプ
CGContextSelectFont(context, "Helvetica", 36.0, kCGEncodingMacRoman);

//上下反転させるためのマトリクス
CGContextSetTextMatrix(context, CGAffineTransformMakeScale(1.0, -1.0));

//フォントの枠、塗りつぶしなどのタイプ
CGContextSetTextDrawingMode(context, kCGTextFill);

//描画
CGContextShowTextAtPoint(context, 10.0, 30.0, "hello", strlen("hello"));

enum CGTextDrawingMode {
kCGTextFill, //塗りつぶし
kCGTextStroke, //枠だけ
kCGTextFillStroke, //枠と塗りつぶし
kCGTextInvisible, //非表示
kCGTextFillClip, //クリップ範囲の背景と塗りつぶし
kCGTextStrokeClip, //枠と背景
kCGTextFillStrokeClip, //塗りつぶしと枠と背景
kCGTextClip //クリップ範囲内の背景と文字塗りつぶしだけ
};
クリップ範囲ってどう決めるんだ?

テキストエンコーディングをMacRomanにしたい場合、
CGContextSelectFont()
CGContextShowTextAtPoint()

そうでない場合、
CGContextSetFont()
またはCGFontCreateWithPlatformFont()
CGContextSetFontSize()
CGContextShowGlyphsAtPoint()
注意:こちらの方式でフォントをセットした場合、描画はCGContextShowGlyphsAtPoint()を使うこと。
この指定だと、エンコーディングが指定できない。その場合、デフォルトのエンコーディングであるkCGEncodingFontSpecificが使われるため、CGContextShowTextAtPoint()が正しい動作をする保証がないらしい。

グリフを使った描画

CGFontRef helvetica = CGFontCreateWithFontName((CFStringRef)@"Helvetica");
CGContextSetFont(context, helvetica);
CGContextSetFontSize(context, 12.0);
CGContextSetTextDrawingMode(context, kCGTextFill);
// Next we'll display lots of glyphs from the font.
CGGlyph start = 0;
for(int y = 0; y < 20; ++y)
{
CGGlyph glyphs[32];
for(int i = 0; i < 32; ++i)
{
glyphs[i] = start + i;
}
start += 32;
CGContextShowGlyphsAtPoint(context, 10.0, 150.0 + 12 * y, glyphs, 32);
}
CGFontRelease(helvetica);

グリフって何?


公式サンプル



公式リファレンス

【2011/03/19 02:13 】 | iPhone | 有り難いご意見(0) | トラックバック()
<<前ページ | ホーム | 次ページ>>