最初の設定時に気づいたのですが、「拡大モード」というのがあります。シミュレータにはありませんでした。その名のとおり、画面の要素全体が大きめになります。アプリ側でそのような情報は来なかったと思うので、どのように対応しているかと思ったらピクセル数がiPhone6と同じになるようです。HOME画面も回転しなくなったりなど、まさにiPhone6のようになります。よって、開発者はiPhone6PlusがあればiPhone6の解像度もテストできますよね。ステキ!以下が検証結果です。Plusの拡大モードは、ピクセル数はiPhone6と同じですが、画面のscaleが@3x相当になってますね。23:30画面サイズの数字がよくわからなくなるので早見表作りました。1物理サイズはRetinaモデルのものを書いてます。iPhoneのx1サイズは3GSが最後ですので、新しいOSのみに対応するなら無いものと考えてOKです。mini(初代)がx1です。Plusのみ論理座標と物理ピクセル数に差があります。5sを基準として座標を変換するために倍率を計算しました。23:53UTF-8って素晴らしいですよね。unicodeは元々、世界中の全ての文字を16bitで表現するという英語圏以外の人からすればあまりに愚かな試みからスタートしましたが、もちろん破綻。16bitを使いながら、サロゲートペアを使って16bit以上のコードも表現するようになりました。結局サロゲートペアが必要な時点でUTF-16は欠点ばかりのものとなってしまいました。最近よく使われるのはUTF-8です。ASCIIコードと互換性が保ちやすく大変便利ですね。UTF-8は結局のところUTF-32をシリアライズしただけのものなんですが、へぇよく考えてるなぁという感じなのです。任意のバイトストリームから混同せずに文字列を取り出せます。欠点もあって、色々処理をするときに文字ごとに長さが違うので厄介です。そこでUTF-8から32bit表現(UTF-32)に変換するコードを書いてみました。プログラムの内部的にはUTF-32を使うと捗りますので。このようなUTF-8の欠点はサロゲートペアがある時点でUTF-16でも同様なんですが、サロゲートペアはあまり出てこないので無視してしまってる駄目な処理系もあるような気がします。セキュリティの観点からはUTF-8の冗長表現が問題になることもあります。本来ASCIIコードである文字でももっと大きなバイス数で表現することが出来てしまうので不正文字チェックを抜けてしまうということです。10101111)は、2バイトのUTF-8として扱うと[101111]の部分がデータになりますので、0x2F(バックスラッシュ)と等価になります。小さいバイトのコードは大きなバイト数でも表現出来てしまうため、単純チェックだとすり抜けるということです。仕様ではこのようなバイト列は不正なUTF-8バイト列としなければなりません。10646では存在しています。以下のコードではそのような不正なUTF-8もそのまま変換します。connectにアプリを送信したところ、CFBundleShortVersionStringが無いということで警告が出ました。Reviewに)ComicGlassを最初に作ったのはiOS3の頃です。その時にはCFBundleShortVersionStringが無かったようでxcodeで自動的に作られなかったので今までずっと無いままでした。CFBundleShortVersionString無いなーとは思ってたんですが、バージョンアップのとき変更するの一つでいいし楽だからいいやと放置してました。前回までは警告出なかったので最近警告が出るようになったんだと思います。このCFBundleShortVersionStringですが、本来はピリオドで区切った3つの数字を用いるのが正しい表記のようです。10.0.1みたいな感じですね。現在ComicGlassのバージョン表記は7.50といった2数字表記になっているのでいつか改めないといけないかもしれません。警告が出るようになったということは今後厳格にチェックが入る前触れかもしれないので・・・。現在のところCFBundleShortVersionStringが3数字になっていなくても(7.50.1ではなく7.50とかでも)警告なく通るようです。新たにアプリ作るときは正しいフォーマットでバージョン番号を付けたほうが良いと思われます。Leopard以前で動くバイナリを作ることは出来ません。iOSについても同様で、iOS4.x以前向けのSDKは現在のxcodeには含まれていません。無視していいかなーと思っていましたが、今だに必要になったのでメモ。Leopardが動くMac実機が用意できれば何の問題もありません。普通にそれ使って下さい...。Leopardのインストールディスク・Xcode4.2のインストーラXcode4.2の入手方法Xcode4.2を入手する方法について困る方がいらっしゃると思います。Xcode4.2をダウンロードしたことがあるAppleアカウントがあればAppleのサイトから再ダウンロードできます。4.2′′で検索)Xcode4.2を購入した事があるか、当時有償で開発者登録しておりXcode4.2をダウンロードしたことがある場合は何の問題もなく再ダウンロードできると思いますが新規アカウントなどでは検索しても出てきません。実はXcode4は600円の有償販売でした。よって今でも無料ダウンロードは出来ないということになっているようです。今はもう買えません・・・。勝手にXcode4.2のインストーラを置いているサイトがあるかもしれませんが、それは違法コピーということになりますのでご注意ください。アップルさんにはこの際無償公開して欲しいところです。環境構築手順1.VirtualBox(無料)をダウンロードしてMacにインストールMacはMarvericksで大丈夫です。Leopardをインストール特に気をつけることはなく普通にインストールできます。ちなみにWindowsでやろうとしても無理ですし、ライセンス的にもNGです。・・・ここでXcode4.2が出てこなかった方。残念ですが、ログインしているアカウントではXcode4.2はダウンロードできません。LeopardにXcode4.2をインストール・・・「インストールが失敗しました」。なる場合はソフトウエアアップデートをかけてください。Appleインストーラの更新がこの時期にかかっており、アップデートしないとインストールに失敗します。新しいxcodeのプロジェクトをXcode4.2で開いたりするとぶっ壊れますのでご注意ください。Xcode4.2で使っていたプロジェクトを新しいXcodeで開いてしまうと、二度とXcode4.2では開けなくなりますのでご注意ください。後日また詳細に書こうと思いますが、ComicGlassの次バージョンにてSMB2プロトコルへの対応とSMBサーバ機能が利用できるようになりました。Vista以降で利用できるプロトコルでWindowsXP/WindowsServer2003以前で使われていたSMB1の後継プロトコルになります。現在ほとんどの機器がSMB1に対応して動作していると思いますが、XPのサポート期限も切れ、WindowsServer2003のサポートもまもなく切れますのでSMB2以降が主流になってくるかもしれません。Windows8以降では高セキュリティ設定をするとSMB1が使えないことがあります。SMBサーバ機能は、文字通りSMBサーバ(ファイル共有サーバ)として動作する機能です。WindowsのエクスプローラーからComicGlass内のファイルを読み書きできます。書き込みはもちろん、読み出しも出来ますし、直接ファイルを開いて確認することも可能になります。フォルダを内容を含めてコピーしたり、ファイル名をPCから編集することも出来ますのでファイルの管理やバックアップが大変便利になります。エクスプローラーで開いたままiPhoneをスリープしたりアプリを終了してしまうとWindows側がタイムアウトするまで困ったことになりますので使い方には少し注意が必要です。製品なので、接続互換性のテストがしっかりされており、(おそらく通信相手の仕様間違いも含めて(例))色々な相手と正しく通信できると思います。基本用途は組み込み向け製品向け製品なのでiOSに移植するために実装した部分で不具合がある可能性は多分にありますが、とりあえず安定した通信が期待できるのではないかと。(一応当面は旧独自実装も使えるよう、選択式にしてあります。これまで問題なかったのに問題が起きたという場合には旧設定にしてみてください。