iPhone 開発 アーカイブ
こんにちは、Sleipnir Mobile 開発担当の宮本です。
皆さん、iOS では Web ページをアイコンにしてホーム画面に追加できるのをご存知でしょうか。いちいち Safari を起動してブックマークを開く必要もなく、ただアイコンをタップするだけで開けるようになります。
この機能ですが、やはり Safari で開くアイコンしか作成できません。Sleipnir Mobile ユーザーとしては、全然うれしくない機能です。悲しいですね。
ということで、今回はこれをなんとかしてみましょう!!
こんにちは。開発担当の金内です。
みなさん、新しい iPad をもう触ってみましたか?話題は何といっても Retina ディスプレイ。4倍のピクセル数になって、まるで印刷物のような美しさです。
Sleipnir Mobile for iPhone / iPad も iPad の Retina ディスプレイ対応版を App Store に申請しています。どうやらいつもより審査に時間がかかっているようなのですが、もう少々お待ちください。

今回は iPhone / iPad 両対応のユニバーサルアプリを Retina ディスプレイに対応させるにあたってのポイントと、下手をするとハマってしまう落とし穴を紹介します。さらに、iPhone / iPad アプリの期間限定セールのお知らせもあるので最後までお読みください。

AdHoc ビルドを作成し、実機に転送できないことがあったのでその解決方法の一つをご紹介します。

こんにちは。開発担当の林です。
iPhone / iPad のウェブブラウザでページを見ているとき、けっこうな割合でピンチイン・ピンチアウトすると思いますが、それがどのくらい拡大されているのかを取得する方法を書きます。
また、応用でピンチイン・ピンチアウトされても、見た目のサイズを維持するにはどのくらい拡大すれば良いかということにも触れたいと思います。
広告バナーなんかでよく使われてるアレの仕組みです。何かのお役に立てれば幸いです。

こんにちは。開発担当の金内です。
みなさん、Sleipnir Mobile for iPhone / iPad を使っていただけているでしょうか?
今日は Sleipnir Mobile の特徴となっている「TouchPaging」を開発したときの経験から、iPhone / iPad アプリ開発でスムーズなアニメーションを実現するためのコツをご紹介します。

こんにちは、開発担当の眞弓です。
テキストを表示するとき、通常は UILabel などを使いますがときどき「凝った文字列を使いたい」ということはないでしょうか? そんなときのために、今回は Core Text の基本的な使い方について書いてみようと思います。

人によってやり方は違うと思いますが、ちょっとしたことに使う場合に私がやっててわかりやすかった方法を紹介します。 位置を指定するやりかたはイメージしにくいので、文字列単位で扱えるやり方で実装をしてみました。 以下のような感じで、「属性付き文字列を作って、その文字列を付け足していって、最後にまとめて表示」というやり方です。
- 1 : 文字列を作成
- 2 : フレームを作成
- 3 : DrawRect
こんにちは。Objective-C は Emacs で書く宮本です。
Emacs で Objective-C のコードを書くなら以下のサイトがまとまっていてオススメです。
「Emacs で iPhone アプリ開発を快適にするための設定」
この中に flymake を使った文法チェックが紹介されているのですが、私が Objective-C を書き始めた頃のマシンでは快適でなかったので使ってませんでした。
しかし、もう昔に比べてマシンも良くなったので、もしかしたら快適に使えるのではないかと思って導入してみることにしました。
こんにちは。開発担当の金内です。
Mac / iOS アプリ開発で使う Objective-C におけるルートクラスと言えば、泣く子も黙る NSObject です。Java における java.lang.Object や Python における object にあたるものが、Objective-C では NSObject なわけです。
さて、この NSObject にはクラスとプロトコルの両方があることをご存じでしょうか?そして、NSObject クラスは NSObject プロトコルを採用しています。これらはなぜ分かれているのでしょうか?クラスだけでは困るのでしょうか?
こんにちは! 共同開発部で日々コードと戯れております、福井です。
iOS 4.0 から追加された関数オブジェクト的なものである Blocks をご存知でしょうか。この Blocks のおかげで UIView のアニメーションは劇的に書きやすくなりました。もう本当に Blocks って素晴らしいですね。
アニメーション? 違う!違うよ!根本的に違うよ! Blocks でやりたいのはアニメーションじゃないよ! おれは Blocks でコールバックを書きたいんだ! ということでさっそく書いてみました。
こんにちは、共同開発部 iOS アプリ開発担当の図子です。
iOS 開発をしている皆さんはメモリリークのチェックを行っていると思います。どのような方法で確認していますか?おそらく以下のような方法で行っていると思います。
・Static Analyzer を使う
・Instruments の Leaks テンプレート
でも、これだけでは見つからないメモリリークが起こりうることをご存じでしょうか?
こんにちは!林です。
今回は、iPhone アプリ開発者 / ウェブ開発者向けの記事です。
みなさんは、iPhone の Safari にある「ホーム画面に追加」という機能をご存知でしょうか。
以下の図のように見ているウェブページを、ホーム画面にアプリのように置くことができる機能です。

ホームに置かれたアイコンをタップすると、Safari が起動し、そのウェブページを閲覧できる仕組みになっています。
頻繁に使うページをホームに置いておくと大変便利です。
この機能を利用して、
アイコンから任意のアプリ(※1) を起動する JavaScript
を作成しました。
※1 URI スキームに対応しているアプリのみ対応しています。
こんにちは、共同開発部 iOS アプリ開発担当の図子です。
iOS 開発をしている皆さんはどういったタイミングで View のレイアウトをおこなっていますか?私は1年くらい前までは ViewController の viewWillAppar 等のメソッド内や、ViewController から View へ情報をセットするタイミングで ViewController 側から直接 View の frame やその View が持つ UILabel の frame を触っていたりしていました。これだと、想定外のタイミングでレイアウトが崩れたり、ViewController 側のコード量がふくれあがってしまいがちであまり良くないと思います。また、autoresizingMask を使うと楽ですが少し込み入ったレイアウトが必要になってくると autoresizingMask では対応できなくなってしまいます。そこで最近私がよくおこっている方法をご紹介します。
こんにちは、iOS/Mac アプリ開発担当の宮本です。
最近は、Sleipnir Mobile for iPhone と Sleipnir for Mac を開発しています。
Sleipnir for Mac の開発では、UIKit と AppKit の違いに苦戦しています。 出てくるクラス名も接頭辞が違うだけのものが多いので、ほとんど変わらないと思っていたのですが、ふたを開けてみると全くの別物でした。 今回は、その中でベースのビューとなるクラス NSView と UIView の違いについて紹介します。 これから Mac アプリを開発する方は参考にしてみてください。

こんにちは。開発担当の金内です。
Xcode 4 は UI もすっかり変わりましたが、ビルドの要であるコンパイラもデフォルトが変更されています。その新しいコンパイラのキーワードが「LLVM」です。いまいち聞き慣れない方もいると思うので、今回はその LLVM について簡単にご紹介します。
UIView には、transform というプロパティがあります。このプロパティを使うと簡単に UIView を拡大・縮小・回転させることができます。transform プロバティの型は CGAffineTransform です。transform の中身は 3×3 の行列で、 z 軸の回転行列として扱うことができます。初期値は、単位行列になっています。

















