iPhone技術情報
ibtoolはNIBファイルをコマンドラインで処理することができる便利なツールです。私は、NIBファイルのローカライズを行うときに、使っていますが、Xcode5.0.1 + Mavericksにしてから、以下のようなエラーで失敗することが、ときどき起きるようになりました。 …
最近は、HTML5で作られたモバイル向けWebアプリケーションをベースに、ネイティブアプリケーションを開発する、ハイブリッド型のアーキテクチャを採用するケースも増えてきているようです。 今さらですが、とりあえず、その代表的なプラットフォームであるPh…
Retina4か否かを判定する方法をいろいろ調べてみました。 正しいディスプレイのサイズを取得するためには、+[UIScreen mainScreen]メソッドで得られるオブジェクト使うのですが、以下のように3つの値が取得できます。 NSLog(@"mainScreen bounds height %f",…
まず、結論から言ってしまうと、640 x 1136 pixels の Launch Image が設定されていれば、Retina4 デバイスでアプリが実行されたときに、画面サイズが640 x 1136pixelsになるようです。具体的な設定方法は、 iOS App Programming Guide を参照していただくと…
iPadがRetinaディスプレイになったことで、また1つ、解像度の異なるiOSデバイスが増えました。どれだけの種類があるかというのは、List of iOS devices - Wikipedia, the free encyclopedia にまとめられています。ここから、ディスプレイの解像度に関する情…
iOS4.xまでは、絵文字キーボードが使える場所は、SMS/MMSと、i.softbank.jpのメールに限定されていました。このときの絵文字は、Unicodeの私用領域(PUA: Private Use Area)を使って表現されていました。そのことは、以下の記事でわかりやすく説明されている…
iOS5で、日本語キーボードの変換候補表示方法が変わったことに、みなさんすでに気付いていることと思います。iOS4.xでは、以下のように、カーソルの近くに表示される仕様でした。 iOS5では、以下のように、変換候補の表示領域が固定で確保されるようになった…
今週は、iPhone 4Sの発売が控えていますが、開発者にとっては、もう1つ重要なポイントがあります。それは、iOSが、5.0にバージョンアップされることです。 SysStats MonitorとSysStats Liteでは、バージョンアップの影響を受ける部分があります。 過去に、2.…
昨年、iOSの中で、アプリケーション同士が連携するためのしくみ - The iPhone Development Playgroundで、UIDocumentInteractionControllerを使ったアプリケーション間連携について簡単に説明しました。そのときに少し触れたとおり、SysStats MonitorとSysSt…
この記事は、こちらに移動しました。 UIDocumentInteractionControllerによる、アプリケーション間のファイル受渡し - The iPhone Development Playground
SysStats Monitor / Lite では稼働中のプロセス一覧を表示しています。実際のプロセス名と、ホーム画面に表示されている名前と一致している場合もありますが、それが異なっているものも多いのが実情です。 例えば、以下のアプリが該当します。 ホーム画面 プ…
SysStats Monitorでは、次のバージョンで、iTunesのファイル共有機能をサポートするようにしてみました。ファイル共有機能がどういうものなのかについては、以下の記事がわかりやすいと思います。iWork for iOS:iTunes のファイル共有についてiPadのことと…
iOSでは、モバイルデバイスの限られたリソースや操作感を前提に、独自のマルチタスキング環境が実現されています。 ユーザから見たその特徴は、 アプリをすばやく切換えられる(Fast app switching)。 再度呼び出した時に、前回の状態が維持されいて、操作を…
『iPhone 4 PERFECT GUIDE』(ソフトバンククリエイティブ社刊)の201ページに、SysStats Liteを紹介していただいてます。ソフトバンク クリエイティブ:『iPhone 4 PERFECT GUIDE』紹介アプリのリンク集iPhone 4 PERFECT GUIDE (パーフェクトガイドシリーズ)作…
iOS4から、一部の古い機種を除き、マルチタスキングがサポートされるようになりました。それによって、アプリの切替が速くなったのはいいですが、反面、待機しているバックグラウンドプロセスが増えたことにより、メモリ使用量が増えたという問題があります…
iPhoneの調子が悪いときに、システムを再起動することで問題が解決することが多いのは、みなさんがご存知だと思います。iPhoneユーザガイドの226ページにある、「付録 A: サポートおよびその他の情報」の「iPhone を再起動する/リセットする」には、具体的な…
一般的なコンピュータは、物理的に空きメモリが不足すると、OSの判断で、メモリ上のデータを、スワップ領域に逃がして、空きメモリを供給しようとします。iOSの場合は、スワップ領域がないので、また異なった手法が取られます。Out Of Memory Killerに似てる…
SysStats Monitor/SysStats Liteでは、host_statistics()という関数をHOST_VM_INFO指定で呼び出して得られるvm_statistics構造体から、現在のメモリ使用状況を取得して表示しています。アプリをたくさん起動して、バックグラウンドプロセスが多い状態を作る…
みなさんは、Linuxカーネルに備わっているOOM Killer(Out of Memory Killer)というものをご存知でしょうか? OOM Killer(Out of Memory Killer)は,システムが実メモリーと仮想メモリー空間(スワップ領域)を使い切り,必要なメモリー領域を新たに確保…
iOS4から提供されているマルチタスク機能によって、アプリ実行中にホームボタンを押した時に、プロセスを終了させず、バックグラウンドで一時停止状態にすることができるようになっていることは、多くの方がすでにご存知だと思います。 PCとは異なり、バック…
iPadでは、従来の多くのiPhoneアプリを、そのまま何も手を加えずに動かすことできますが、iPad向けに作られたものと比べると、見劣りするというのが事実です。SysStats Monitorも、残念ながら、現時点ではその状態にあります。 iPadへの本格対応をする場合、…
久しぶりの投稿です。 過去に何度か、空きメモリ不足に関する説明をしていますが、今回はちょっと切り口を変えてみました。タイトルにあるように、わざわざ「空きメモリを少なくする」ということは、普通はやらないというか、望まれないことですが、アプリ開…
SysStats Monitor/SysStats Liteでは、iPhoneの中で動いているプロセスの一覧を表示しています。 バックグラウンドで動いている標準アプリのことは、これまでにも説明してきましたが、それ以外のものについては特に触れていませんでした。AppStoreのカスタマ…
iPhoneは、DarwinをベースにしたiPhone OSで動作するコンピュータです。iPhoneの基本システムを構成するソフトウェアは、バックグラウンドプロセスと動作しており、そのあたりは、一般的なコンピュータと大差ありません。そのためかどうかはわかりませんが、…
SysStats Liteのカスタマーレビューにて、メモリ使用状況の「その他」領域について質問をいただいたようなので、それについて説明したいと思います。 技術的な観点では、 SysStats Liteの「測定できない領域」は、わかりにくいものですよね。 - The iPhone D…
SysStats MonitorとSysStats Liteでは、iPhone/iPod touchシステム全体の、メモリ使用状況を表示しています。この中には、暗黙的にこれらのアプリケーション自身が使用しているメモリサイズも含まれています。そのことは、PCではほぼ誤差の範囲かもしれませ…
かなり以前にハマったことがある内容ですが、たまたま思い出したのでメモを兼ねて書いておきます。 UITableViewControllerのサブクラスを使う場合、viewWillAppear:メソッドの中で、tableViewオブジェクトのreloadDataを呼び出すような実装を行うことが、一…
先ほど、SysStats Liteに、バッテリ残量の表示を追加して、アップデートを申請しました。 やることは非常に簡単なのですが、その中で、少しだけ悩んだことがありました。バッテリ残量取得のAPIは、OS3.0以降で追加されたので、ふつうにコーディングすると、O…
先日、夏休みを取得してグアムに行ってきました。iPhone(というか、海外で使用できるケータイ)を手にしてから、初めての海外旅行です。 高額な通信料を恐れて、3GとデータローミングはOFFにしていたので、使い込み度は低いのですが、そのときのことを少し書…
先日、アプリを実機でテストしようとビルドを実行したところ、 Code sign error: The identity "iPhone Developer" doesn't match any valid certificate / private key pair in the default keychain. というエラーメッセージが出て、失敗しました。いろい…