iPad実機で画像が表示されない


第一弾のアプリもだいぶできてきたので、とうとうApple Developer登録を済ませました。
例によってgoogleでやり方を調べながら、途中で時間がかかりすぎてセッションが無効になったりしながら、なんとか完了。

それでいよいよiPadでの実機テストを行ったのですが、一部の画像が表示されない!
シミュレータでは表示されるのになぜだー。

こちらの方法や
BridgeMetaware | 実機で画像が表示されない
こちらの方法
実機テストで画像が表示されない
を試してみたけどダメ。

結構長い間うんうん悩んで、、、まぁ悩んでいてもしょうがないのでダメ元でファイル名でも変更してみようと思いまして。
ファイル名を変更して、ソースファイルの画像ファイル読み込み部分も変更しようとしたら大文字の部分が小文字になってる?
これが原因?

で正しく大文字に書き直してやると無事実機でも動くようになりました。

「シミューレータでは画像ファイル名の大文字/小文字の違いは無視するけど、実機では大文字/小文字まで正しく書かないとダメ」
ってことでしょうかね。

初歩的な間違いだけどシミュレータでは平然と動いてくれるので発見が遅れてしまいました。
どうせならコンパイルの時点でエラーにするか、シミュレータでも表示しないようにしてくれると嬉しいんだけどなぁ。

outletが表示されない


問題続きでちっとも進まないアプリ作成

UIImageViewをInterfaceBuilderに作成して、右クリックから[New Referencing Outlet]をヘッダファイルにドラッグしてみるも何も起こらず。
あれ?
自動でコードを書いてくれるんだったような気がするけど、勘違い?

仕方なく手動でヘッダファイルに以下を追加。

IBOutlet UIImageView *canvas;

しかしconnection inspectorのoutletsの部分にこのcanvasが表示されない・・・。

InterfaceBuilder上に作成したviewとcanvasって名前を関連づけしないといけないような気がするんだけど、これじゃできない。

あれこれ調べると、発見。
以前アプリ名とファイル名が不一致でXcodeが固まる(XCode固まる)という状態になったんだけど、その問題がすべては解決できてなかった。

xibファイルのFile’s Ownerを選択し、Identity Inspectorを開いたら一番上にCustom Classという項目があって、ここのクラス名に修正前の名前が残っていました。
ここを正しいクラス名に修正すると無事outletsが表示されるようになりました。

buildできるがシミュレータが起動しない


まずは慣れようといろいろいじっているので、いろいろと問題が発生します。
今度はbuildには成功するが、シミュレータを起動するとすぐにエラーで落ちてしまうという状態に。

エラーメッセージは、以下のようなもの

Could not load NIB in bundle: ‘NSBundle ….

なんのことやら・・・。
ずっとブラウザとXcodeの往復をしていますが、またブラウザに戻って検索です。
すぐに以下の情報が見つかりました。

Xcode 実機で動作しなくなる(’NSInternalInconsistencyException’, reason: ‘ Could not load NIB in bundle…)

エラーログにある「ViewController.xib」を開き、右側の「Utilities」>「File Inspector」内にある「Localization」の部分を見ます。
僕の場合はEnglishの1つのみが書かれていたので、「Japanese」を追加します。

この方はシミュレータでは起動するが実機に持っていくと動かないという症状になったそうですが、エラーメッセージ自体は似ています。
さらに解決策の内容に心当たりがあったのでやってみると上手くいきました。

私の場合は、最初LocalizationのところにEnglishとJapaneseがあったが(Japaneseは自分で追加したはず)、Englishはいらないだろうと削除しちゃってました。
Englishは必須なのだろうか・・・?
とりあえず残しておくことにします。

あー本当に分からないことだらけだ。

Xcode固まる


iPadアプリ作成中なのですが、いろいろといじっていると画面上部の通知エリアのような部分に

Attaching to アプリ名

という表示が出て、ビジーっぽい状態のままになっていることに気づきました。
そしてこの状態でrunを実行すると固まってしまいました。

解決策を探すと、次の情報を得ました。
XCode 4 hangs at “Attaching to (app name)”
(※原文英語)

Q. Xcode3では動いていたアプリがXcode4にすると “Attaching to …”の表示のまま固まった
A. [自己解決]
1.左のペインのプロジェクト名(一番上)をクリック。右にXcode3のproject/target editorsのようなメニューが出る。
2.一番上のBuild Settingsをクリック
3.パッケージの中ですべてのbuildがプロダクト名と同じになるようにする。”Attacing to …”に表示されている名前と同じに。例えば、プロダクト名が”LCBO Finder”なのに”Attacing to myLCBO”と表示して固まっているのならば、buildできないだろう。これが私に起こった問題だった。開発中にアプリ名を変更したんだ。

build名とアプリ名が一致していない(?)とこの問題が起こる?

私の場合、アプリの名前は「paintSample」だったのに、ファイル達は「painSampleViewController」というような”痛い”打ち間違いをしていました。
すべてのファイル名や、ソースの中身まですべてpain→paintに書き換え、Xcodeを再起動すると動くようになりました。

横画面アプリの開発


はじめたばかりのiOSアプリ開発。
ほんと分からないことだらけです。

iPadを横向きにした状態の部品配置を確認しようと思ったのですが、横画面にする方法が分かりませんでした。
こんなことすら分からないなんて・・・と思うのですが、仕方なし。

またまた検索です。
本当に有用な情報を公開して下さっている方が多くて助かります。

[Xcode 4.3]横画面のアプリケーションの開発

横画面のアプリケーションを作るためにはどうすればいいのでしょうか。

それは”Attributes Inspector”の”Orientation”をLandscapeに変えればOKです。

参照元のサイトでは画像で詳しく説明されています。
いやー助かった。感謝感謝です。

ipadアプリ開発でzoom out


XcodeでiPadアプリを作っている方々はどのように開発しているんでしょうか。

どうにも画面が小さすぎて作りにくい。
ズームアウトしてラベルの位置とか全体を見たいんだけど、ズームアウトの方法がわからず・・・。

検索するとこんなの見つけました。
Ipad interface builder (xib) problem
(※原文英語)

Q. iPadのInterface Builderでズームアウトするにはどうすればいいですか?
A. Interface Builderではズームアウトはできません。唯一の回避策は、縦の解像度が1024以上の外部ディスプレイを使うことです。

みたいなやり取り。
ズームアウトできないのかー。

全体の雰囲気を見るにはシミュレーターを使うしかないんですかね。