Xcode

日本語ドキュメント公開3種

iOS Developer Libraryから以下の日本語ドキュメントが公開された。 iOS Developer Library - 日本語 iOSチーム管理ガイド 日本語版 Xcode ユニットテストガイド 日本語版 App Storeへの登録に関するチュートリアル 日本語版 どれも読みたかったが特にユニッ…

プロジェクトが壊れる

次のアプリケーションのために新しいプロジェクトを作って、以前に作ったアプリケーションで使っていたライブラリィを同じように組み込んだのだがいつしかNavigatorのファイルの横にMやらAやらのアイコンが表示されるようになってしまった。 これはSCM機能を…

UITabViewControllerとMemory Warning その2

Modal View表示時にMemory Warningが発生するとその下にある全てのviewControllerのviewDidUnloadデリゲートが呼ばれるのだが、そこでViewControlerが管理しているViewが解放されてしまっているらしい所までは解った。しかしどうやってそれを防ぐかが解らな…

UITabViewControllerとMemory Warning

表題の通りだが、UITabViewControllerのタブ上に乗せたViewから更にModalなViewを表示して、そこでMemory Warningを発生させるとタブ上のViewが描画されずに真っ黒になってしまうという現象に悩まされている。どんな構成でも発生する訳では無く、UITabViewCo…

ZXingObjcを使ってみる

既存のプロジェクトへの組み込みは出来たがヘッダファイルが大量にあるために、いちいちTarget Membershipを"public"にしようとするとXcodeが固まってしまうので、exampleのプロジェクトのように"../ZXingObjc/ZXingObjc"などと相対パスをヘッダーパスに追加…

やはりバグだったみたい

Xcode4.4が出た頃「Downloads for Apple Developer」からダウンロードしようと探したのだが全くクエリにヒットしない。 Appleと数回メールをやり取りもしたが解決せず、結局最終解は「App Storeからダウンロードしてくれ」だった。ところがだ。 Xcode4.4.1が…

Xcode 4.4.1

4.4が出てから間もないが早速アップデートされている。 Xcode 4.4.1 Release Notes バグフィクスがメインか。

気のせい?

確かXcode4.3まではBOOL型の変数をウォッチしてもYES/NOとは表示されなかったはずだが(true/false)、きのせいかな。

MacBook Pro Retina Mountain LionでもXcodeの通知を有効にする

rMBPにインストールしたMountain Lionの通知センターに対してXcode4.4が通知の対象ならない件だが、回避策が解った。XcodeではPreferenceから"Behaviors"と呼ばれる、主要なイベントに対する振る舞いをカスタマイズする機能があるが、この中に"Notify using …

副作用

Xcode4.4ではデフォルトのコンパイラがLLVM4.0になり、数々の拡張が成されたことは既に書いた。一番解りやすいのは自動プロパティ(アクセサやフィールドを明示的に記述しない)の定義で@propertyと対になる@synthesizeを記述する必要がなくなったことだろう。…

Xcode on Mountain Lion

せっかくのup-to-dateプログラム対象だったし、自宅のMacBook Pro RetinaにMountain Lionをインストールしてみた。 スクリーンショットはそのMountain Lion上で最新のXcode4.4を使ってデバッグしている様子だ。Lionで一番気になっていたXcodeのバグ(変数のウ…

iPhoneアプリでもiPad用のアイコンを使用する

iPhone用に開発したアプリケーションは完璧ではないにせよiPadでも普通に動くようにビルドされる。 等倍モードならiPhoneと同じ解像度で、2xモードであればiPhoneの画面を倍に引き延ばした状態(スケーリング)でiPhoneと同じようにアプリケーションが動作する…

Xcode4.2以降のUITableViewCell取得メソッドはnilを返さない

最新のXcode、StoryBoardを使用したUITableViewを使うケースでは上述したメソッドでは既にnilは戻らないと聞いていたのだが、実際にはnilが戻るのだ。 そして、nilが戻る原因が分からない。 色々な方が書いているサンプルコードではほぼ間違い無くnilをチェ…

UITableViewの振る舞いが解らない

前にも書いたがターゲットをiOS5、StoryBoardを使って作る画面、UITableViewControllerを使う画面でアプリケーションを作る場合、UITableViewが扱うUITableViewCellのモードとしては"Static Cells"又は"Dynamic Prototypes"を選択できる。前者はInterfaceBui…

プロジェクトが開けない時に試すこと

Xcodeで開発をしていると、プロジェクトファイルが壊れるのか時々プロジェクトを開いても例の「ぐるぐる渦巻き」の状態のまま進まなくなってしまうことがある。 開発が佳境に入った時にこの現象に遭遇すると顔面蒼白で絶望するが、諦めてプロジェクトを作り…

コード署名時の注意

そろそろ提出用にとiPhoneアプリケーションのビルド後にアーカイブしようと思って、そのための設定"Distribution"を作成してアーカイブ時だけはコード署名を行おうと、以下のようにDebug時はコード署名を行わないように設定した。 しかしこの状態でビルドす…

Retina on Retina

MacBook Pro Retinaで楽しみにしていたことの一つは、XcodeでiOSアプリケーションのデバッグに使うRetina仕様のシミュレータ(iPhone/iPad)をフルサイズで表示してみることだ。以下、実際にデスクトップの広さを最大(1920x1200相当)にした状態でiPhone(Retina…

MacBook Pro "Retina Display"ならではのXcodeバグ

早速見つけてしまった。Xcodeはデバッグ時にコード中の変数、オブジェクトにカーソルを当てるとホバーでその内容を検証できるのだが(Variable Inspection)、そのホバーの表示位置がおかしい。(スクリーンショットでは実際には下端に近い変数にカーソルを当て…

XcodeでDatePickerを配置すると異常終了する?

と聞いたのでやってみた。 配置っと。 あれ、落ちないな。 うん。落ちない。現在のバージョンはXcode4.3.2だが、バージョンに依るのかな。

StoryBoardはiOS4では使えない

Xcodeのプロジェクトどころか、そもそもビルドしたバイナリ自体iOS4上では動かないのね。 UIStoryboard Class Reference Availability Available in iOS 5.0 and later. iOS4でも動かすバイナリを作るためにはStoryBoard自体諦めなければならないってことか。

ZXingWidgetをXcodeプロジェクトに取り込む

zxing - Multi-format 1D/2D barcode image processing library with clients for Android, Java - Google Project Hosting Androidプラットホームではあまりに有名なバーコード読み取りアプリケーションとそれを構成するライブラリィでお世話になっている人…

StoryBoard上で定義したUITableViewCell(Static Cells)が取得できない

最新のXcodeとStoryBoardを使うことで従来よりも直感的で柔軟なアプリケーションを開発することができる。 私が特に気に入っているのはこのスクリーンショットのように、UITableViewを配置した所にラベルやテキストフィールド使ってWISYWIGでカスタマイズし…

duplicate symbol

少し大きくなってきたプロジェクトをXcodeでビルドするとリンク時によく出てくるやっかいなエラー。 最初のうちは中々原因が判らずにいらいらするが、私の場合以下が原因であることが多いことが判ったので気をつけるようにしている。 同じファイルが存在して…

ユニットテストでプロジェクト中のXMLファイルを読込む (解決)

デプロイ時には必要の無いファイルを、わざわざテストのためだけにアプリケーションのバンドルに追加しなくてはならないのは煩わしいので、なんとか良い方法が無いかなぁと思うのだが。 昨日はテスト時のバンドルにファイルは埋め込まれないと言ったが、それ…

アプリケーションのユニットテストでプロジェクト中のXMLファイルを読込む

ユニットテストや単体テストではテストの入力としてXMLファイルやテキストファイルを読みたいことがあるだろう。Xcodeでプロジェクトに追加したXMLファイルをテストケースで読込んでXMLパーサに渡す処理だが、最初は以下のコードを書いていた。 NSURL* url =…

ARCプロジェクトでARCに対応していないファイルをコンパイルする

私はiOS4以降にiOS開発を始めたので、基本はARC有りでプロジェクトを起こす。もうこれ無しでは組めない程だ。 そんなARCだが有無の決定はプロジェクトの生成時なので、表題にあるようなことは出来ないのだろうと思っていたのだが、そんなことは無かった。 Xc…

Print Description

Xcodeはデバッグ・ブレーク中に現在のコンテキストで有効な変数にカーソルを合わせると変数の詳細が表示される。 char*やint等のスカラ型の変数はこのままで内容が分るが、ポインタ型やid、オブジェクトに関しては参照しているアドレスがHEXで表示されるだけ…

Xcodeの構文色設定(Syntax Coloring)が無効になってしまう

最近のIDEでは必須の機能だが、Xcodeにはコーディング中のソースコードを見やすくするためにObjective-Cの予約語や識別子等、構文に色をつける機能がある。Xcodeの場合はどのように呼ぶのが正当なのかが判らないが、構文色設定:Syntax ColoringやSyntax High…

デバッガコンソールのフォント色を変える

Xcodeはエディタのみならず、デバッガコンソール、実行結果コンソールのフォントとその色を変更できる。 "cmd+,"でプリファリンスが開くので、"Fonts & Colors"タブを選択して"Console"ページを選択することでコンソールのフォントと色を変更することが出来…

Conditional Breakpoint (条件付きブレークポイント)

最近のIDEは例外なく高機能なデバッガを持っており、ブレークポイントにより実行中のコードを止める事が出来るのはもとより、ブレークポイントを実行する際に設定する任意の条件を言語と同じ文法で記述できる"Conditional Breakpoint"を使うことができる。Xc…